由於經常要幫資料分析抽表,因此自己寫了個自動生成impala和sqoop指令碼的工具,結果今天發現乙個庫中17張表,只成功匯入了12張。仔細檢查才發現是是由於impala建表時候字段使用了location關鍵字的原因。
建表語句
impala-shell -i ip:25004 -q "
drop
table
ifexists
database.table;
create
external
table
database.table(
id string,
location string
)row format delimited fields terminated by
'\001'
stored as parquet
location '/path';
"
錯誤
error: analysi***ception: syntax error
in line 3:
location string
^encountered: location
expected: identifier
caused by: exception: syntax error
could not execute command: create external table dante_test.testtable1(
id string,
location string
)row format delimited fields terminated by
'\001'
stored as parquet
location '/path'
經過幾次試驗,發現不管加什麼符號('
或者
`),都會報錯。
暫時的猜測是location占用了impala的關鍵字,只要遇到location就會認為是讀到了設定hdfs路徑的位置,因此就會出現語法錯誤。由於需求要的比較急,沒有細究,暫時給表中的字段改了個名字。
2016-06-27 22:32:00 rljp
Impala實踐之十五 Impala使用文件
由於前期大家使用impala的時候都比較隨意,再加上對impala的原理不清楚,因此在使用的過程中對impala帶來了很大的壓力。經過前段時間的研究和實驗。我整理了乙份impala使用文件,供組內小夥伴使用。只有通過hdfs增加或刪除分割槽中檔案後,才需要人為更新元資料,其餘情況依賴impala自帶...
Impala實踐之十一 parquet效能測試
之前一直考慮更換impala的檔案儲存格式為parquet,但是沒有立即使用,最近又做了一些測試,看看parquet是否真的有用。在測試的時候順便測了一下compute語句的效果,一起作為參考。下面抽出乙個小業務的部分測試結果來展示。庫名和表名當然不是真的。表名行數 字段數物理儲存大小 ain342...
Impala實踐之五 一次系統任務堵塞記錄 思考
前言 前段時間,imppala資源告警,各種任務失敗,查詢堵塞,因此公司集群公升級。這次遷移的確必須,因為當時的集群規模很小,資源太緊張了。遷移集群後,今天集群再次出問題,導致乙個下午沒什麼事都沒乾,查了一下午的錯誤。事件發展 1.階段一 下午2點17分 資料組反映集群崩潰,hue介面不能登入,登入...