偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

簡(jiǎn)單12招讓Hive運(yùn)行快一點(diǎn),再快一點(diǎn)

大數(shù)據(jù)
這是一個(gè)很長(zhǎng)的故事,但是我在工作周花了80多個(gè)小時(shí)親自調(diào)整Hive。不用說(shuō),我不必再頭疼了。因此,為了您的利益,這里有一些建議,讓你的Hive項(xiàng)目比我的運(yùn)行的快一點(diǎn)。

Hive可以讓你在Hadoop上使用SQL,但是在分布系統(tǒng)上的SQL的調(diào)優(yōu)是不同的。這里有12個(gè)技巧能夠幫助你。

Hive并不是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),但它假裝是大部分情況中的一個(gè)。它有表格,運(yùn)行SQL,并且支持JDBC和ODBC。

這個(gè)啟示有利及不利的消息:Hive不運(yùn)行查詢(xún)數(shù)據(jù)庫(kù)方式。這是一個(gè)很長(zhǎng)的故事,但是我在工作周花了80多個(gè)小時(shí)親自調(diào)整Hive。不用說(shuō),我不必再頭疼了。因此,為了您的利益,這里有一些建議,讓你的Hive項(xiàng)目比我的運(yùn)行的快一點(diǎn)。

1、不要使用MapReduce

你是否相信Tez,Spark或者Impala,但是不相信MapReduce。它是緩慢的,它比Hive還要慢。如果你在Hortonwork的分布,你可以在腳本的頂部輸入 set hive.execution.engine=tez

在子句中使用Impala.希望當(dāng)你的impala不再合適的時(shí)候設(shè)置 hive.execution.engine=spark

2、不要在SQL字符串配對(duì)

注意,尤其是在Hive,如果你在本該是子句的地方配對(duì)字符串,會(huì)產(chǎn)生一個(gè)交叉的產(chǎn)品警告。如果你有一個(gè)幾秒內(nèi)運(yùn)行的查詢(xún),與需要幾分鐘才能配對(duì)的字符串。你***選擇使用多個(gè)工具,允許你添加搜索Hadoop。查看Elasticsearch’s Hiveintegration or Lucidwork’s integration for Solr?;蛘?,哪里有Cloudera Search. RDBMSes 非常善于做這個(gè),但是Hive就很差了。

 

 

[[164897]]

Apache Hive擬人畫(huà)

3、不要加入一個(gè)子查詢(xún)

你***創(chuàng)建一個(gè)臨時(shí)列表,然后加入臨時(shí)表不詢(xún)問(wèn)Hive如何智能的處理子查詢(xún)。也就是說(shuō)不要這么做。

而是要這么樣做

在這一點(diǎn)上,它真的不應(yīng)該在Hive的進(jìn)化上如此之快,但是它通常是這樣的。

4、使用Parquet或者ORC,但是不要把它們轉(zhuǎn)化成運(yùn)動(dòng)

這就是說(shuō),相對(duì)用Parquet或者ORC,例如,TEXTFILE。然而,如果你有文本數(shù)據(jù)進(jìn)來(lái),并且促進(jìn)它變的更結(jié)構(gòu)化,轉(zhuǎn)換到目標(biāo)表。你不能從文本文件加載數(shù)據(jù)到一個(gè)ORC,所以做初始加載到文本。

如果你創(chuàng)建其他的表,你最終會(huì)運(yùn)行不到你的分析。在那里做ORCing,因?yàn)檗D(zhuǎn)換到ORC或者Parquet需要時(shí)間,并且不值得進(jìn)行你的ETL過(guò)程的***步。如果你有簡(jiǎn)單的平面文件進(jìn)來(lái),并且不做任何調(diào)整。然后你被加載到一個(gè)臨時(shí)表,并且選擇創(chuàng)建一個(gè)ORC或者Parquet。我不嫉妒你因?yàn)樗娴暮苈?/strong>

5、嘗試把矢量化打開(kāi)或者關(guān)閉

增加

在你的腳本的頂端。嘗試讓它們開(kāi)或關(guān),因?yàn)槭噶炕贖ive的新版本中似乎有一些問(wèn)題。

6、不要用結(jié)構(gòu)加入

我不得不承認(rèn)我原本的大腦的SQL語(yǔ)法依然是SQL-92時(shí)代,所以我無(wú)論如何不傾向于使用結(jié)構(gòu)。但是如果你做一些像對(duì)復(fù)合PKS子句超重復(fù)的事情,結(jié)構(gòu)是方便的。不幸的是,Hive隔斷了它們——尤其是在子句上,當(dāng)然,在較小的數(shù)據(jù)集并沒(méi)有這么做,也沒(méi)有產(chǎn)生任何錯(cuò)誤的時(shí)間。在絕對(duì)禁區(qū),你得到一個(gè)有趣的向量誤差。這個(gè)限制是沒(méi)有記錄任何我所知道的地方。把這個(gè)看成是一個(gè)有序的方式來(lái)了解你的執(zhí)行引擎的內(nèi)部結(jié)構(gòu)!

7、檢查容器的尺寸

你可能需要為Impala或者Tez增加你容器的尺寸。此外,”建議”尺寸可能不適用于您的系統(tǒng),如果你有較大的節(jié)點(diǎn)尺寸。你可能要確保你的YARN隊(duì)列和一般的YARN記憶是恰當(dāng)?shù)摹D憧赡苓€想把它釘在一個(gè)東西上,這個(gè)東西不是所有人都使用的默認(rèn)隊(duì)列。

8、啟動(dòng)統(tǒng)計(jì)

Hive的確有點(diǎn)愚蠢的東西加入,除非數(shù)據(jù)啟動(dòng)起來(lái)。你可能還想在Impala使用查詢(xún)提示。

9、考慮Mapjoin優(yōu)化

如果你對(duì)查詢(xún)做了解釋?zhuān)憧赡軙?huì)發(fā)現(xiàn)最近Hive的版本足夠聰明到去自動(dòng)應(yīng)用優(yōu)化的。但是你需要去調(diào)整他們。

10、如果可以,把***的表放在***

11、區(qū)分你的朋友……額……

如果你在許多子句的地方有一個(gè)項(xiàng)目,如一個(gè)日期(但是并不是一個(gè)理想的范圍)或者重復(fù)的位置,您可能有您的區(qū)分鍵!分區(qū)的基本意思是”分裂成為它自己的目錄,”這意味著不是在尋找一個(gè)大的文件,Hive查看一個(gè)文件,因?yàn)槟阌媚愕膉oin/where從句讓你只看location=’NC’,這是你的一個(gè)小數(shù)據(jù)集。此外,與列值不同,您可以在負(fù)載數(shù)據(jù)報(bào)表中推分區(qū)。但是,請(qǐng)記住,HDFS不喜歡小的文檔。

12、使用哈希表列的比較

如果你在每個(gè)查詢(xún)中比較相同的10個(gè)字段,考慮使用()對(duì)比總結(jié)。這些有時(shí)是非常有用的,你可能會(huì)把它們放在一個(gè)輸出表中。注意Hive0.12是低分辨率的,但是更好的可以使用的值在0.13。

責(zé)任編輯:Ophira 來(lái)源: 36大數(shù)據(jù)
相關(guān)推薦

2019-11-28 14:07:46

技術(shù)架構(gòu)代碼

2020-12-08 09:52:22

數(shù)據(jù)庫(kù)工具技術(shù)

2025-05-29 00:00:00

UI 庫(kù)前端模塊化

2022-05-10 10:53:55

日志組件鴻蒙

2016-01-06 09:49:59

青云/SDN

2013-01-08 10:06:43

創(chuàng)業(yè)創(chuàng)業(yè)方法

2010-05-20 15:29:43

優(yōu)化IIS

2009-03-06 08:34:03

Windows 7美化微軟

2017-09-27 13:42:42

數(shù)據(jù)庫(kù)MySQL斷電恢復(fù)

2012-03-27 08:49:19

Json

2009-09-14 19:44:27

LINQ To SQL

2009-07-09 15:09:05

JDK卸載

2011-03-15 10:41:05

內(nèi)部類(lèi)

2009-12-15 14:27:30

Ruby存取器

2017-01-03 10:42:54

零售 企業(yè)

2020-01-09 11:16:07

iOS 13蘋(píng)果iPhone

2011-11-30 09:26:25

項(xiàng)目管理

2009-09-14 20:17:05

并行LINQ

2014-06-04 10:48:38

Swift蘋(píng)果iOS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)