摘要: 今天遇到一个问题,spark应用中在一个循环里执行sql,每个sql都会向一张表写入数据,比如 insert overwrite table test_table partition(dt) select * from test_table_another; 除了执行sql没有其他逻辑,每个sql都 阅读全文
posted @ 2018-12-27 22:20 匠人先生 阅读(826) 评论(0) 推荐(0)
摘要: Hive SQL解析过程 SQL->AST(Abstract Syntax Tree)->Task(MapRedTask,FetchTask)->QueryPlan(Task集合)->Job(Yarn) SQL解析会在两个地方进行: 一个是SQL执行前compile,具体在Driver.compil 阅读全文
posted @ 2018-12-27 18:41 匠人先生 阅读(3783) 评论(0) 推荐(0)
摘要: 一 问题 在hive1.2中使用hive或者beeline执行sql都有进度信息,但是升级到hive2.0以后,只有hive执行sql还有进度信息,beeline执行sql完全silence,在等待结果的过程中完全不知道执行到哪了 1 hive执行sql过程(有进度信息) hive> select 阅读全文
posted @ 2018-12-27 16:53 匠人先生 阅读(5948) 评论(2) 推荐(1)
摘要: hive 2.1 一 问题 最近有一个场景,要向一个表的多个分区写数据,为了缩短执行时间,采用并发的方式,多个sql同时执行,分别写不同的分区,同时开启动态分区: set hive.exec.dynamic.partition=true insert overwrite table test_tab 阅读全文
posted @ 2018-12-27 16:12 匠人先生 阅读(10142) 评论(0) 推荐(0)
摘要: hive 2.1 hive执行sql有两种方式: 执行hive命令,又细分为hive -e,hive -f,hive交互式; 执行beeline命令,beeline会连接远程thrift server; 下面分别看这些场景下sql是怎样被执行的: 1 hive命令 启动命令 启动hive客户端命令 阅读全文
posted @ 2018-12-27 15:19 匠人先生 阅读(3696) 评论(0) 推荐(0)