1. 程式人生 > >Hive修改行級別數據

Hive修改行級別數據

cli 現在 linu 註意 textfile pan 記錄 情況下 文件

我們知道Hive0.14版本之前是不支持行級別的插入,更新,刪除的,0.14版本之後可以通過修改相關配置得以支持,但是在不修改默認配置的情況下是不是完全沒有辦法呢?不是的,這裏有個比較簡單的方法,前提是表的存儲格式為textfile~

以下是例子:

當前表emp

技術分享圖片

存儲格式為textfile

技術分享圖片

到hdfs中查看數據

技術分享圖片

將數據下載下來: $ hdfs dfs -get /user/hive/warehouse/test_db.db/emp/part-m-00000 技術分享圖片

vi查看數據

技術分享圖片

可以看到字段間的分隔符為Hive默認的^A(表示為八進制是\001) 現在嘗試在文本中添加一行記錄(註意在linux下輸入^A的做法:ctrl-v 再 ctrl-a)
技術分享圖片

保存退出。 先將hdfs上已有的文件刪除 $ hdfs dfs -rm -r /user/hive/warehouse/test_db.db/emp/part-m-000000 再上傳 $ hdfs dfs -put part-m-00000 /user/hive/warehouse/test_db.db/emp/ 好了,到hive cli查看: 技術分享圖片

數據已經被插入進來啦,可以再試試更新,刪除操作。 技術分享圖片

Hive修改行級別數據