使用Doris的HDFS插件特性,实现将CDH上Hive的离线计算数据同步到Doris的数仓中,具体步骤如下:
在Doris的所有节点上安装HDFS插件,步骤如下:
$ cd doris-<version>/bin
$ ./hadoop_deploy_tool.sh -s /opt/cloudera/parcels/CDH
其中,<version>
是Doris的版本号,/opt/cloudera/parcels/CDH
是您CDH集群安装的路径,如果与该路径不同,则需要修改为您的路径。
打开Doris的配置文件doris_fe.conf,设置以下参数:
# hdfs config
hdfs_read_strategy = "distributed"
hdfs_cluster.default_fs = "hdfs://<NameNode-IP>:8020"
hdfs_cluster.list = "default"
hdfs_cluster.default_root_path = "/user/hive/warehouse"
其中,<NameNode-IP>
是您CDH集群上的NameNode节点IP,后面的路径/user/hive/warehouse
是Hive离线计算的数据存储路径,该路径中应包含您需要同步的所有数据。
LOAD LABEL my_label
(
[column_name data_type [(length)] [column_attribute], ...]
)
FROM "hdfs://<NameNode-IP>:8020/user/hive/warehouse/<database_name>.db/<table_name>"
WITH (
seperator='\u0001',
row_delimiter='\n',
null_string='NULL',
cols_charset='UTF8'
);
根据您的业务需求,在Doris中创建相应的表,然后使用Doris的LOAD语句将数据从Hive中导入到Doris的表中,示例语句:
其中,<NameNode-IP>
是您CDH集群上的NameNode节点IP,<database_name>
是Hive数据库名称,<table_name>
是您需要同步的数据表名称。
最后,执行上述LOAD语句即可实现将CDH上Hive的离线计算数据同步到Doris的数仓中,供运营分析和数据科学家们使用。