資料hive常見問題

2021-08-11 06:50:44 字數 543 閱讀 4782

1.mysql 匯入時問題轉碼,避免亂碼

mysql源有各種字符集

#字元轉換

convert ( convert (fieldname using binary) using gbk ) as fieldname

#防止換行

trim(replace(replace(replace(`fieldname`,"\\r\\n",""),"\\r",""),"\\n","")) as `fieldname`,

2 hive分個符

1. 對於檔案預設\n 換號符來作為一行記錄的分割

2. ^a,該預設的分割是"ctr+a",ascii碼排第二位的字元,是不可見字元,二進位制表示:'\u0001'。

3. ^b ,arrary中或者struct中元素,或者map中鍵值分割

4. ^c map鍵值分割

5. sqoop匯入,若記錄中含有"由空格組成的字串",由於空字串是由引號括起來,因此,需要對引號進行轉義,設定escaped屬性

hive常見問題

distinct用法 對select 後面所有欄位去重,並不能只對一列去重 1 當distinct應用到多個欄位的時候,distinct必須放在開頭,其應用的範圍是其後面的所有字段,而不只是緊挨著它的乙個字段,而且distinct只能放到所有欄位的前面 2 distinct對null是不進行過濾的,...

hive 常見問題

原因 flume 匯入的orc 格式 建表語句儲存格式 textfile 不匹配導致 修改方案 建表語句和hdfs格式一致即可 修改表字段註解和表註解 alter table columns v2 modify column comment varchar 256 character set utf...

HIVE架構以及HIVE常見問題

hive是執行在yarn上的,資料儲存在hdfs上。將sql語句轉換為mapreduce,當然hive本身做了一些優化,有些任務不會走mapreduce。hive其實就是把結構化的資料檔案對映到表中,hive表的元資料資訊儲存在關係型資料庫中,具體可以參見我的另一篇部落格,配置了mysql資料庫。s...