当前位置: 首页 > news >正文

汕头建站培训dede汽车资讯网站源码

汕头建站培训,dede汽车资讯网站源码,我想自己建个网站 应该怎么做,百度推广免费送网站目录 1. Spark Load导入Hive非分区表数据 2. Spark Load 导入Hive分区表数据 3. 注意事项 进入正文之前#xff0c;欢迎订阅专题、对博文点赞、评论、收藏#xff0c;关注IT贫道#xff0c;获取高质量博客内容#xff01; 宝子们订阅、点赞、收藏不迷路#xff01;抓紧…目录 1. Spark Load导入Hive非分区表数据 2. Spark Load 导入Hive分区表数据 3. 注意事项 进入正文之前欢迎订阅专题、对博文点赞、评论、收藏关注IT贫道获取高质量博客内容 宝子们订阅、点赞、收藏不迷路抓紧订阅专题 1. Spark Load导入Hive非分区表数据 1 在node3hive客户端准备向Hive表加载的数据 hive_data1.txt: 1,zs,18,1002,ls,19,1013,ww,20,1024,ml,21,1035,tq,22,104 2) 启动Hive在Hive客户端创建Hive表并加载数据 #配置Hive 服务端$HIVE_HOME/conf/hive-site.xmlpropertynamehive.metastore.schema.verification/namevaluefalse/value/property注意此配置项为关闭metastore版本验证避免在doris中读取hive外表时报错。#在node1节点启动hive metastore[rootnode1 ~]# hive --service metastore #在node3节点进入hive客户端建表并加载数据create table hive_tbl (id int,name string,age int,score int) row format delimited fields terminated by ,;load data local inpath /root/hive_data1.txt into table hive_tbl;#查看hive表中的数据hive select * from hive_tbl;1 zs 18 1002 ls 19 1013 ww 20 1024 ml 21 1035 tq 22 104 3) 在Doris中创建Hive 外部表 使用Spark Load 将Hive非分区表中的数据导入到Doris中时需要先在Doris中创建hive 外部表然后通过Spark Load 加载这张外部表数据到Doris某张表中。 #Doris中创建Hive 外表CREATE EXTERNAL TABLE example_db.hive_doris_tbl ( id INT, name varchar(255), age INT, score INT ) ENGINEhive properties (dfs.nameservicesmycluster,dfs.ha.namenodes.myclusternode1,node2,dfs.namenode.rpc-address.mycluster.node1node1:8020,dfs.namenode.rpc-address.mycluster.node2node2:8020,dfs.client.failover.proxy.provider.mycluster org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider, database  default, table  hive_tbl, hive.metastore.uris  thrift://node1:9083 ); 注意 在Doris中创建Hive外表不会将数据存储到Doris中查询hive外表数据时会读取HDFS中对应hive路径中的数据来展示向hive表中插入数据时doris中查询hive外表也能看到新增数据。如果Hive表中是分区表doris创建hive表将分区列看成普通列即可。 以上hive外表结果如下 mysql select * from hive_doris_tbl;-------------------------| id   | name | age  | score |-------------------------|    1 | zs   |   18 |   100 ||    2 | ls   |   19 |   101 ||    3 | ww   |   20 |   102 ||    4 | ml   |   21 |   103 ||    5 | tq   |   22 |   104 |------------------------- 4) 创建Doris表 #创建Doris表create table spark_load_t2(id int,name varchar(255),age int,score double)ENGINE olapDUPLICATE KEY(id)DISTRIBUTED BY HASH(id) BUCKETS 8; 5) 创建Spark Load导入任务 创建Spark Load任务后底层Spark Load转换成Spark任务进行数据导入处理时需要连接Hive所以需要保证在Spark node1-node3节点客户端中$SPARK_HOME/conf/目录下有hive-site.xml配置文件以便找到Hive ,另外连接Hive时还需要MySQL 连接依赖包所以需要在Yarn NodeManager各个节点保证$HADOOP_HOME/share/hadoop/yarn/lib路径下有mysql-connector-java-5.1.47.jar依赖包。 #把hive客户端hive-site.xml 分发到Spark 客户端node1-node3节点$SPARK_HOME/conf目录下[rootnode3 ~]# scp /software/hive-3.1.3/conf/hive-site.xml  node1:/software/spark-2.3.1/conf/[rootnode3 ~]# scp /software/hive-3.1.3/conf/hive-site.xml  node2:/software/spark-2.3.1/conf/[rootnode3 ~]# cp /software/hive-3.1.3/conf/hive-site.xml  /software/spark-2.3.1/conf/#将mysql-connector-java-5.1.47.jar依赖分发到NodeManager 各个节点$HADOOP_HOME/share/hadoop/yarn/lib路径中[rootnode3 ~]# cp /software/hive-3.1.3/lib/mysql-connector-java-5.1.47.jar /software/hadoop-3.3.3/share/hadoop/yarn/lib/[rootnode3 ~]# scp /software/hive-3.1.3/lib/mysql-connector-java-5.1.47.jar node4:/software/hadoop-3.3.3/share/hadoop/yarn/lib/[rootnode3 ~]# scp /software/hive-3.1.3/lib/mysql-connector-java-5.1.47.jar node5:/software/hadoop-3.3.3/share/hadoop/yarn/lib/ 编写Spark Load任务,如下 LOAD LABEL example_db.label2 ( DATA FROM TABLE hive_doris_tbl INTO TABLE spark_load_t2 ) WITH RESOURCE spark1 ( spark.executor.memory  1g, spark.shuffle.compress  true ) PROPERTIES ( timeout  3600 ); 6) Spark Load任务查看 登录Yarn Web UI查看对应任务执行情况: 执行命令查看Spark Load 任务执行情况 mysql show load order by createtime desc limit 1\G; *************************** 1. row ***************************JobId: 37128Label: label2State: FINISHEDProgress: ETL:100%; LOAD:100%Type: SPARKEtlInfo: unselected.rows0; dpp.abnorm.ALL0; dpp.norm.ALL0TaskInfo: cluster:spark1; timeout(s):3600; max_filter_ratio:0.0ErrorMsg: NULLCreateTime: 2023-03-10 18:13:19EtlStartTime: 2023-03-10 18:13:34EtlFinishTime: 2023-03-10 18:15:27LoadStartTime: 2023-03-10 18:15:27 LoadFinishTime: 2023-03-10 18:15:30URL: http://node1:8088/proxy/application_1678424784452_0007/JobDetails: {Unfinished backends:{0-0:[]},ScannedRows:0,TaskNumber:1,LoadBytes:0,All backends:{0-0:[-1]},FileNumber:0,FileSi ze:0} TransactionId: 24081ErrorTablets: {} 1 row in set (0.00 sec) 7) 查看Doris结果 mysql select * from spark_load_t2; ------------------------- | id | name | age | score | ------------------------- | 5 | tq | 22 | 104 | | 4 | ml | 21 | 103 | | 1 | zs | 18 | 100 | | 3 | ww | 20 | 102 | | 2 | ls | 19 | 101 | ------------------------- 2. Spark Load 导入Hive分区表数据 导入Hive分区表数据到对应的doris分区表就不能在doris中创建hive外表这种方式导入因为hive分区列在hive外表中就是普通列所以这里我们使用Spark Load 直接读取Hive分区表在HDFS中的路径将数据加载到Doris分区表中。 1) 在node3 hive客户端准备向Hive表加载的数据 hive_data2.txt: 1,zs,18,100,2023-03-01 2,ls,19,200,2023-03-01 3,ww,20,300,2023-03-02 4,ml,21,400,2023-03-02 5,tq,22,500,2023-03-02 2) 创建Hive分区表并加载数据 #在node3节点进入hive客户端建表并加载数据create table hive_tbl2 (id int, name string,age int,score int) partitioned by (dt string) row format delimited fields terminated by ,load data local inpath /root/hive_data2.txt into table hive_tbl2;#查看hive表中的数据hive select * from hive_tbl2;OK1 zs 18 100 2023-03-012 ls 19 200 2023-03-013 ww 20 300 2023-03-024 ml 21 400 2023-03-025 tq 22 500 2023-03-02hive show partitions hive_tbl2;OKdt2023-03-01dt2023-03-02 当hive_tbl2表创建完成后我们可以在HDFS中看到其存储路径格式如下 3) 创建Doris分区表 create table spark_load_t3(dt date,id int,name varchar(255),age int,score double)ENGINE olapDUPLICATE KEY(dt,id)PARTITION BY RANGE(dt)(PARTITION p1 VALUES [(2023-03-01),(2023-03-02)),PARTITION p2 VALUES [(2023-03-02),(2023-03-03)))DISTRIBUTED BY HASH(id) BUCKETS 8; 4) 创建Spark Load导入任务 创建Spark Load任务后底层Spark Load转换成Spark任务进行数据导入处理时需要连接Hive所以需要保证在Spark node1-node3节点客户端中$SPARK_HOME/conf/目录下有hive-site.xml配置文件以便找到Hive ,另外连接Hive时还需要MySQL 连接依赖包所以需要在Yarn NodeManager各个节点保证$HADOOP_HOME/share/hadoop/yarn/lib路径下有mysql-connector-java-5.1.47.jar依赖包。 #把hive客户端hive-site.xml 分发到Spark 客户端node1-node3节点$SPARK_HOME/conf目录下[rootnode3 ~]# scp /software/hive-3.1.3/conf/hive-site.xml  node1:/software/spark-2.3.1/conf/[rootnode3 ~]# scp /software/hive-3.1.3/conf/hive-site.xml  node2:/software/spark-2.3.1/conf/[rootnode3 ~]# cp /software/hive-3.1.3/conf/hive-site.xml  /software/spark-2.3.1/conf/#将mysql-connector-java-5.1.47.jar依赖分发到NodeManager 各个节点$HADOOP_HOME/share/hadoop/yarn/lib路径中[rootnode3 ~]# cp /software/hive-3.1.3/lib/mysql-connector-java-5.1.47.jar /software/hadoop-3.3.3/share/hadoop/yarn/lib/[rootnode3 ~]# scp /software/hive-3.1.3/lib/mysql-connector-java-5.1.47.jar node4:/software/hadoop-3.3.3/share/hadoop/yarn/lib/[rootnode3 ~]# scp /software/hive-3.1.3/lib/mysql-connector-java-5.1.47.jar node5:/software/hadoop-3.3.3/share/hadoop/yarn/lib/ 编写Spark Load任务,如下 LOAD LABEL example_db.label3 ( DATA INFILE(hdfs://node1:8020/user/hive/warehouse/hive_tbl2/dt2023-03-02/*) INTO TABLE spark_load_t3 COLUMNS TERMINATED BY , FORMAT AS csv (id,name,age,score) COLUMNS FROM PATH AS (dt) SET ( dtdt, idid, namename, ageage )) WITH RESOURCE spark1 ( spark.executor.memory  1g, spark.shuffle.compress  true ) PROPERTIES ( timeout  3600 ); 注意 以上HDFS路径不支持HA模式需要手动指定Active NameNode节点读取HDFS文件路径中的分区路径需要写出来不能使用*代表这与Broker Load不同。目前版本测试存在问题当Data INFILE中指定多个路径时有时会出现只导入第一个路径数据。 5) Spark Load任务查看 执行命令查看Spark Load 任务执行情况 mysql show load order by createtime desc limit 1\G; *************************** 1. row ***************************JobId: 39432Label: label3State: FINISHEDProgress: ETL:100%; LOAD:100%Type: SPARKEtlInfo: unselected.rows0; dpp.abnorm.ALL0; dpp.norm.ALL3TaskInfo: cluster:spark1; timeout(s):3600; max_filter_ratio:0.0ErrorMsg: NULLCreateTime: 2023-03-10 20:11:19EtlStartTime: 2023-03-10 20:11:36EtlFinishTime: 2023-03-10 20:12:21LoadStartTime: 2023-03-10 20:12:21 LoadFinishTime: 2023-03-10 20:12:22URL: http://node1:8088/proxy/application_1678443952851_0026/JobDetails: {Unfinished backends:{0-0:[]},ScannedRows:3,TaskNumber:1,LoadBytes:0,All backends:{0-0:[-1]},FileNumber:2,FileSi ze:60} TransactionId: 25529ErrorTablets: {} 1 row in set (0.02 sec) 6) 查看Doris结果 mysql select * from spark_load_t3; ------------------------------------- | dt | id | name | age | score | ------------------------------------- | 2023-03-02 | 3 | ww | 20 | 300 | | 2023-03-02 | 4 | ml | 21 | 400 | | 2023-03-02 | 5 | tq | 22 | 500 | ------------------------------------- 3. 注意事项 1) 现在Spark load 还不支持 Doris 表字段是String类型的导入如果你的表字段有String类型的请改成varchar类型不然会导入失败提示 type:ETL_QUALITY_UNSATISFIED; msg:quality not good enough to cancel 2) 使用 Spark Load 时如果没有在 spark 客户端的 spark-env.sh 配置 HADOOP_CONF_DIR 环境变量会报 When running with master yarn either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment. 错误。 3) 使用Spark Load时spark_home_default_dir配置项没有指定spark客户端根目录。提交 Spark job 时用到 spark-submit 命令如果 spark_home_default_dir 设置错误会报 Cannot run program xxx/bin/spark-submit: error2, No such file or directory 错误。 4) 使用 Spark load 时 spark_resource_path 配置项没有指向打包好的zip文件。如果 spark_resource_path 没有设置正确会报 File xxx/jars/spark-2x.zip does not exist 错误。 5) 使用 Spark load 时 yarn_client_path 配置项没有指定 yarn 的可执行文件。如果 yarn_client_path 没有设置正确会报 yarn client does not exist in path: xxx/yarn-client/hadoop/bin/yarn 错误 6) 使用Spark load 时没有在 yarn 客户端的 hadoop-config.sh 配置 JAVA_HOME 环境变量。如果 JAVA_HOME 环境变量没有设置会报 yarn application kill failed. app id: xxx, load job id: xxx, msg: which: no xxx/lib/yarn-client/hadoop/bin/yarn in ((null)) Error: JAVA_HOME is not set and could not be found 错误 7) 关于FE配置 下面配置属于 Spark load 的系统级别配置也就是作用于所有 Spark load 导入任务的配置。主要通过修改 fe.conf来调整配置值。 enable_spark_load 开启 Spark load 和创建 resource 功能。默认为 false关闭此功能。 spark_load_default_timeout_second 任务默认超时时间为259200秒3天。 spark_home_default_dir spark客户端路径 (fe/lib/spark2x) 。 spark_resource_path 打包好的spark依赖文件路径默认为空。 spark_launcher_log_dir spark客户端的提交日志存放的目录fe/log/spark_launcher_log。 yarn_client_path yarn二进制可执行文件路径 (fe/lib/yarn-client/hadoop/bin/yarn) 。 yarn_config_dir yarn配置文件生成路径 (fe/lib/yarn-config) 。 8) 关于Spark Load支持Kerberos认证配置看考官网Spark Load - Apache Doris 9) 使用Spark Load 导入文件数据时必须指定format ,否则Spark Load 执行最后会报错“spark etl job run failed java.lang.NullPointerException” 个人主页IT贫道的博客_CSDN博客-Apache Doris,Kerberos安全认证,随笔领域博主 主页包含各种IT体系技术 订阅拥抱独家专题你的订阅将点燃我的创作热情 点赞赞同优秀创作你的点赞是对我创作最大的认可 ⭐️ 收藏收藏原创博文让我们一起打造IT界的荣耀与辉煌 ✏️评论留下心声墨迹你的评论将是我努力改进的方向
http://www.zqtcl.cn/news/411575/

相关文章:

  • 成都网站排名优化开发广告传媒公司简介模板
  • 中山网站建设企业网站内容建设
  • 免费网站建站页面wordpress的主题在哪个文件夹
  • 国企网站建设要求站长之家排行榜
  • 做视频网站利润如何处理旅游电子商务网站建设技术规范
  • 做网站架构网页浏览器怎么卸载
  • 做甜品的网站网页传奇游戏排行榜比亚迪
  • 广州网站建设菲利宾百度关键词优化排名
  • 南昌网站建设业务wordpress添加购买按钮
  • 个人现在可以做哪些网站企业所得税是多少
  • 网站建设招标信息科技企业网站建设
  • 怎样弄网站站长工具综合查询
  • 表白网站在线制作软件合肥seo按天收费
  • 襄阳企业网站建设免费行情的软件入口下载
  • 对百度网站进行分析中国机械加工网18易0下6拉en
  • 一般做网站都在什么网做wordpress轮播图设置
  • 深圳装饰公司网站thinkphp 网站根目录地址
  • 购物网站建设资讯原创文章代写
  • 门票预订网站建设wordpress siren主题
  • 单位建设网站装修公司需要什么资质
  • 做做做网站做网站赚外快
  • 网站备案后应该做什么网站流量监测
  • 开发网站用什么语言做名片的网站叫什么来着
  • 织梦做网站好不好iis中的网站启动不了
  • 临汾住房与城乡建设厅网站迎访问中国建设银行网站_
  • 织梦做的网站首页幻灯片怎么不能显示北大青鸟网站建设课程
  • 做淘客的网站有哪些延安市住建建设网站
  • 南京林业大学实验与建设网站现在都用什么软件搜索附近的人
  • 建站系统wordpress下载亚马逊雨林十大恐怖生物
  • 凡科网做网站怎么样专业团队电影