0
我仍然是這個世界的小菜鳥,如果有任何誤解,那麼我就是光禿禿的。從Hive中的HDFS提取數據後獲取Null?
我到目前爲止所做的是,我在Linux環境中設置了Hadoop和Hive,並試圖從HDFS文件中提取數據到我的Hive表中。
這是日誌行的樣子:
阿帕奇2013-10-09T14:04:32Zphp129.124.201.110/EKEE.php20019705910Mozilla/5.0 (X11,Linux的i686的)爲AppleWebKit/534.24( KHTML,像壁虎) 的Chrome/Safari瀏覽器11.0.696.50/534.24
這是我的蜂巢查詢:
CREATE EXTERNAL TABLE LogParserSample(
logtype STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
'input.regex' = '^[^0-9]+'
)
STORED AS TEXTFILE
LOCATION '/mypath/';
當我做é執行上述成功創建的表。但是當我試圖使用SELECT語句來查詢表中的數據時,我得到的是空值而不是字apache。對於這個例子,我試圖從上面的日誌行中提取word apache。但後來我試圖在rubular執行相同的正則表達式,結果是正確的,如我所料。我無法弄清楚爲什麼!
我錯過了上面的任何小事嗎?任何幫助,不勝感激。謝謝!
哇,這工作。神奇的**是括號**。 – Kulasangar