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...