基本常識
- Hive的UDF實現詳解
-
默認存儲與
/tmp/{user.name}
目錄下 -
如果兩個表格的維度不一樣,將會插入錯誤
hive基本的操作語句(實例簡單易懂,create table XX as select XX)
直接將select的結果存成表:
create table XX as select
-
Hive默認的分隔符是:\u0001,所以創建表格的時候需要根據實際情況修改一下。
-
實際使用時,和上述鏈接文章描述的原理差不多,但是是反過來的,就是當我創建一張表去關聯Hdfs上文件時,文件中的\N,可能映射到表中會成爲一條全null值的記錄。
-
Hive默認分隔符是單字符,實際使用過程中,如果你的文件中列分隔符爲’###‘,打算以之爲分隔符,默認情況下,關聯會異常的。
Debug
[ERROR] Terminal initialization failed;
falling back tounsupported
java.lang.IncompatibleClassChangeError:
Found class jline.Terminal,
but interface was expected ……
異常來源:因爲在hadoop目錄下存在老版本jline:
$HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar
解決方法:將hive下的新版本jline的JAR包拷貝到hadoop下:並將老版本jline刪除。
2.Hive 使用RegexSerDe來處理標準格式Apache Web日誌
往hive會話中加入
hive-contrib-*.jar
,該包位置在hive安裝環境的lib目錄下
3.使用 JDBC 連接 Hive(ClassNotFoundException、No suitable driver found、Could not open client transport wit)