当前位置:  开发笔记 > 编程语言 > 正文

蜂巢插入与蜂巢负载:有什么权衡?

如何解决《蜂巢插入与蜂巢负载:有什么权衡?》经验,为你挑选了1个好方法。

我正在学习Hadoop /大数据技术.我想将数据大量摄取到hive中.我开始使用一个简单的CSV文件,当我尝试使用INSERT命令按记录加载每个记录时,一个记录插入本身大约需要1分钟.当我将文件放入HDFS然后使用该LOAD命令时,它是瞬间的,因为它只是将文件复制到hive的仓库中.我只是想知道当他们选择LOAD代替时,必须要面对的是什么INSERT.



1> Subash..:

Load - Hive在将数据加载到表中时不进行任何转换.加载操作当前是纯复制/移动操作,它将数据文件移动到与Hive表对应的位置.

Insert -Query结果可以通过使用insert子句插入到表中,然后运行map reduce job.因此执行需要一些时间.

如果你想优化/调整插入语句.下面是一些技巧:

1.将hive-site.xml中的执行引擎设置为Tez(如果已安装)

 set hive.execution.engine=tez;

2.USE ORCFILE

CREATE TABLE A_ORC (

customerID int, name string, age int, address string

) STORED AS ORC tblproperties (“orc.compress" = “SNAPPY”);

INSERT INTO TABLE A_ORC SELECT * FROM A;

3.在hive中并发作业可以节省整个作业的运行时间.要实现hive-default.xml,需要更改下面的config:

set hive.exec.parallel=true;
set hive.exec.parallel.thread.number=;

有关详细信息,请访问http://hortonworks.com/blog/5-ways-make-hive-queries-run-faster/ 希望这会有所帮助.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有