我在學習Hadoop /大數據技術。我想將數據大量攝入蜂巢。我開始使用一個簡單的CSV文件,當我嘗試使用INSERT
命令通過記錄加載每個記錄時,一個記錄插入本身需要大約1分鐘。當我將文件放入HDFS並使用LOAD
命令時,它是即時的,因爲它只是將文件複製到配置單元的倉庫中。我只是想知道當他們選擇LOAD
而不是INSERT
時必須面對什麼樣的折衷。Hive insert vs Hive Load:什麼是折衷?
3
A
回答
5
加載 - Hive在向表中加載數據時不執行任何轉換。加載操作目前是純粹的複製/移動操作,將數據文件移動到與Hive表對應的位置。
插入 -Query結果可以通過使用insert子句插入到表中,然後依次運行map reduce作業,因此需要一段時間才能執行。
在情況下,如果你想優化/調整插入statements.Below一些技巧:
1.設置執行引擎在蜂巢-site.xml中以TEZ(如果已安裝)
set hive.execution.engine=tez;
2.使用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.兼職在蜂巢可以節省整體工作運行時間。爲了實現這一目標蜂房default.xml中,下面的配置需要運行改變:
set hive.exec.parallel=true;
set hive.exec.parallel.thread.number=<your value>;
欲瞭解更多信息,可以訪問http://hortonworks.com/blog/5-ways-make-hive-queries-run-faster/ 希望這有助於。
相關問題
- 1. 是什麼HIVE
- 2. Hive over HBase vs Hive over HDFS
- 3. Hive insert query like SQL
- 4. load ntuser.dat hive with delphi
- 5. 什麼是Object vs的折衷?在泛型參數?
- 6. 在這裏做的折衷是什麼? (push vs. Array)
- 7. Hive中的單個vs多個分區
- 8. Hive「insert into ... select ... limit」很慢
- 9. HDFS vs HIVE分區
- 10. HIVE - INSERT OVERWRITE與DROP TABLE + CREATE TABLE + INSERT INTO
- 11. 性能:Pig vs Hive
- 12. Apache Phoenix vs Hive-Spark
- 13. Hive查詢失敗INSERT OVERWRITE
- 14. UIViews太多了嗎?什麼是成本,什麼是折衷?
- 15. 什麼是拳擊和拆箱,什麼是折衷?
- 16. 什麼是Hive常見用例?
- 17. Hive - CLIDriver.java的用途是什麼?
- 18. Hive中的默認模式是什麼?
- 19. Apache Hive的安全措施是什麼
- 20. Hive執行「insert into ... values ...」很慢
- 21. Hive分區vs多個表,有什麼區別?
- 22. 什麼是在HTMLUnit中禁用CSS的折衷?
- 23. 小堆棧邊界的折衷是什麼?
- 24. 在HIVE
- 25. 這在HIVE
- 26. Hive由vs分配而沒有分配
- 27. 在Hive中執行LOAD DATA時,它是否複製數據?
- 28. 爲什麼Hive表會突然消失?
- 29. RDBMS和Hive有什麼不同?
- 30. Hadoop,Hive,Pig,HBase,Cassandra - 什麼時候用?
同意。使用INSERT vs LOAD可能會「卡住」的一個折衷方案是如果用戶沒有權限將文件放在HDFS上但具有Hive用戶/密碼。如果HiveQL是你唯一的選擇,那麼你需要使用INSERT。 – mattyb