spark版本:2.0.0
配置单元版本:2.0.1
我发现在sparksql或sparkshell中运行的insert overwrite语句比在hive-client(我在apache-hive-2.0.1-bin/bin/hive中启动它)中花费的时间要长得多,其中spark大约需要10分钟,而hive-client只需要不到20秒。
这些是我采取的步骤。
测试sql是:
INSERT overwrite TABLE login4game partition(pt='mix_en',dt='2016-10-21')
SELECT DISTINCT account_name,
role_id,
server,
'1476979200' AS recdate,
'mix' AS platform,
'mix' AS pid,
'mix' AS dev
FROM tbllog_login
WHERE pt='mix_en'
AND dt='2016-10-21' ;
tbllog\ U登录中有257128行数据 partition(pt='mix_en',dt='2016-10-21')
附言:
我敢肯定这一定是“插入覆盖”花费了大量的时间在Spark,可能是当做覆盖,它需要花费大量的时间在io或其他东西。
我还比较了insert overwrite语句和insert into语句的执行时间。
1insert overwrite语句和insert into spark语句:
插入覆盖语句大约需要10分钟
插入语句大约需要30秒
2在spark中插入语句并在配置单元客户端中插入语句:
spark大约需要30秒
hive客户端大约需要20秒
差别太小了,我们可以忽略不计
暂无答案!
目前还没有任何答案,快来回答吧!