Time of Update: 2018-12-07
記錄下工作中,使用hive sql遇到的問題,和大家共用。 某個欄位條件過多,查詢條件失效select * from login where dt='20130101' and (ver !='3.1' or ver !='3.2' or ver != '4.0' or ver != '5.2');備忘:感謝 楊慶榮的指導,這裡筆誤,其實修改為如下的sql,功能可以實現,該bug純屬作者的錯誤:select * from login where dt='20130101' and (ver !=
Time of Update: 2018-12-07
Join文法hive表串連支援的文法如下:join_table: table_reference JOIN table_factor [join_condition] | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition | table_reference LEFT SEMI JOIN table_reference join_condition |
Time of Update: 2018-12-07
Instagram 團隊上個月才迎來第 7 名員工,是的,7個人的團隊。作為 iPhone 上最火爆的圖片類工具,instagram 使用者數量已經超過 1400 萬,圖片數量超過 1.5 億張。不得不說,這真他媽是個業界奇蹟。幾天前,只有三個人的 Instagram 工程師團隊發布了一篇文章:What Powers Instagram: Hundreds of Instances, Dozens of Technologies,披露了 Instagram
Time of Update: 2018-12-07
Select文法SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference[WHERE where_condition][GROUP BY col_list][CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list]][LIMIT
Time of Update: 2018-12-07
測試環境,系統資訊$uname -aLinux 10.**.**.15 2.6.32-220.17.1.tb619.el6.x86_64 #1 SMP Fri Jun 8 13:48:13CST 2012 x86_64 x86_64 x86_64 GNU/Linuxhadoop和hbase版本資訊:hadoop-0.20.2-cdh3u4hbase-0.90-adh1u7.1 10.**.**.12 NFS Server端,提供NFS服務10.**.**.15 作為HDFS NameNod
Time of Update: 2018-12-07
虛擬列Hive 0.8.0支援兩個虛擬列: INPUT__FILE__NAME, mapper任務的輸出檔案名。 BLOCK__OFFSET__INSIDE__FILE, 當前通用檔案的位移量。對於塊壓縮檔,就是當前塊的檔案位移量,即當前塊的第一個位元組在檔案中的位移量。 簡單例子select INPUT__FILE__NAME, key, BLOCK__OFFSET__INSIDE__FILE from src;select key, count(INPUT__FILE__NAME)
Time of Update: 2018-12-07
通過dfs.umask可以控制在hdfs上建立的檔案夾和檔案的屬性,該值的預設值為0022。在hadoop中通過dfs.umask參數可以控制預設的檔案的許可權。dfs.umask的設定<property> <name>dfs.umask</name>
Time of Update: 2018-12-07
Lateral View文法lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (',' columnAlias)*fromClause: FROM baseTable (lateralView)*描述lateral view用於和split, explode等UDTF一起使用,它能夠將一行資料拆成多行資料,在此基礎上可以對拆分後的資料進行彙總。lateral
Time of Update: 2018-12-07
這裡羅列常用操作,更多參考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Create%2FDrop%2FTruncateTable 簡單的建立表create table table_name ( id int, dtDontQuery string, name
Time of Update: 2018-12-07
參考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable%2FPartitionStatements這裡主要列一些常用操作。 添加分區ALTER TABLE table_name ADD PARTITION (partCol = 'value1') location 'loc1'; //樣本ALTER TABLE table_name ADD IF
Time of Update: 2018-12-07
Is the cluster set up correctly? The best way to answer this question is empirically: run some jobs and confirm that you get the expected results. Benchmarks make good tests, as you also get numbers that you can compare with other clusters as a
Time of Update: 2018-12-07
Hive 並行存取模型使用案例並發支援 (http://issues.apache.org/jira/browse/HIVE-1293) 是資料庫的必須,而且他們的使用案例很好懂。至少,我們要儘可能支援並發讀和寫。添加幾個發現當前已經鎖定的鎖,是有用的。這裡沒有一個直接的需求添加一個API顯式擷取鎖,所以,所有鎖都是隱式擷取的。hive定義一下模式的鎖(注意不需要意圖鎖定)共用 (S)排他 (X)見名知意,多個共用鎖定可以同時擷取,而獨佔鎖定會阻塞其他鎖。相容性列表如下:*Existing
Time of Update: 2018-12-07
這裡羅列常用操作,更多參考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Clihive命令列執行一個查詢$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'之後過程中,會在終端上顯示mapreduce的進度,執行完畢後,最後把查詢結果輸出到終端上,接著hive進程退出,不會進入互動模式。 使用靜音執行一個查詢$HIVE_HOME/bin/hive -S -e
Time of Update: 2018-12-07
最近要對hdfs上空間使用和檔案結點使用增加警示,當超過一定的限額的時候就要發警示好通知提前準備。[sunwg]$ hadoop fs -count /sunwg 2 1 108 hdfs://sunwg:9000/sunwg第一個數值2表示/sunwg下的檔案夾的個數,第二個數值1表是當前檔案夾下檔案的個數,第三個數值108表示該檔案夾下檔案所佔的空間大小,這個大小是不計算副本的個數的[sunwg]$ hadoop fs -count -q /sunwg 10
Time of Update: 2018-12-07
EXPLAIN文法Hive提供EXPLAIN命令,顯示查詢的執行計畫。文法如下:EXPLAIN [EXTENDED] queryEXPLAIN語句使用EXTENDED,提供執行計畫關於操作的額外的資訊。這是典型的物理資訊,如檔案名稱。Hive查詢被轉換成序列(這是一個有向非循環圖)階段。這些階段可能是mapper/reducer階段,或者做metastore或檔案系統的操作,如移動和重新命名的階段。
Time of Update: 2018-12-07
文章目錄 時間戳記
Time of Update: 2018-12-07
硬體技術的發展給儲存和資料庫軟體技術提供了新的機會。近年來SSD開始流行,那麼SSD能否給Hadoop/HBase帶來效能的提升呢?來自Facebook資料團隊的工程師們做了相關的研究和實驗工作。本文是http://hadoopblog.blogspot.com/2012/05/hadoop-and-solid-state-drives.html (需自備梯子)的翻譯並加上了一些自己的思考,著作權歸原部落格作者所有。先說下SSD吧,SSD沒有傳統機械硬碟的機械尋道時間而帶來的延遲,所以IOPS效
Time of Update: 2018-12-07
背景 分布式的叢集通常包含非常多的機器,由於受到機架槽位和交換器網口的限制,通常大型的分布式叢集都會跨好幾個機架,由多個機架上的機器共同組成一個分布式叢集。機架內的機器之間的網路速度通常都會高於跨機架機器之間的網路速度,並且機架之間機器的網路通訊通常受到上層交換器間網路頻寬的限制。
Time of Update: 2018-12-07
hive有兩種資料修改方式從檔案載入到hive表載入資料到表時,hive不會做任何轉換。載入操作是純粹的複製/移動操作,移動資料檔案到相應的hive表。文法LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2
Time of Update: 2018-12-07
在hive0.7的版本中增加了local hadoop的功能,就是在處理資料量比較小的情況在本地執行,而不走分布的mapred。這樣一來,那些比較小的任務的執行速度就會大大提高。那到底什麼樣的任務會採用local hadoop呢,是由hive的一個參數控制的。hive.exec.mode.local.auto.inputbytes.max當處理的資料量比這個參數值小的情況下就會採用local hadoop的方式來執行。如果想要屏蔽掉local hadoop的功能,只需要把這個參數設定為-1即可。