我是HDFS,Hive,Sqoop的新手,現在正在學習這些概念。我在這裏有一個問題。我創建了一個Hive表格,其中「行格式限定字段終止」,「存儲爲文本文件」HDFS文件中的分隔符與Hive表格的分隔符值不匹配
我已經使用Hive [Hive-import選項]將Hive表導入了一個Oracle表數據我創造了。我希望HDFS中的表格數據文件具有用逗號分隔的列。但事實並非如此。列不用HDFS文件中的逗號分隔。這是默認行爲還是我錯過了一些東西。
請澄清。提前致謝!
我是HDFS,Hive,Sqoop的新手,現在正在學習這些概念。我在這裏有一個問題。我創建了一個Hive表格,其中「行格式限定字段終止」,「存儲爲文本文件」HDFS文件中的分隔符與Hive表格的分隔符值不匹配
我已經使用Hive [Hive-import選項]將Hive表導入了一個Oracle表數據我創造了。我希望HDFS中的表格數據文件具有用逗號分隔的列。但事實並非如此。列不用HDFS文件中的逗號分隔。這是默認行爲還是我錯過了一些東西。
請澄清。提前致謝!
按照蜂巢文檔
--hive-import
Imports tables into Hive using Hive's default delimiters if none are explicitly set.
Hive's default delimiter - fields terminated by : CTRL A and lines terminated by : \n
所以這是預期的行爲。 如果要替換自己的字符串(「,」),則可以使用 --hive-delims-replacement。
sqoop import --connect jdbc:oracle_string//localhost:3306/mydb \
--username user --password pwd --table oracletbl \
--hive-import --hive-overwrite \
--hive-table hivedb.hivetbl -m 1 \
--hive-delims-replacement "," \
--null-string '\\N' \
--null-non-string '\\N' \
感謝您分享您的意見。我嘗試了覆蓋默認分隔符值的選項,我將其設置爲逗號。但是,在hive/warehouse/
您是否包含'--fields-terminated-by'?雖然我認爲默認是逗號。你的完整sqoop命令是什麼? – Andrew
@Andrew在創建Hive表時,我已經包含了「由字段終止」子句「代碼」sqoop import --connect --username -P --table dummy.sample_table --columns「」 --hive-import --hive-table Sample_sqoop_tab –
Dharani