如何从sqoop导入中停止空值(oracle到hive)

时间:2017-05-02 17:30:51

标签: hive sqoop

在sqoop从oracle导入到hive之后,我在hive中获得了空行

在sqoop --query中,我提到了pk不为null的地方。

sqoop查询:

sqoop import \
--connect "${SQOOP_CONN_STR}" \
--connection-manager "${SQOOP_CONNECTION_MANAGER}" \
--username ${SQOOP_USER} \
--password ${SQOOP_PASSWORD} \
--fields-terminated-by ${SQOOP_DELIM} \
--null-string '' \
--null-non-string '' \
--query \""${SQOOP_QUERY}"\" \
--target-dir "${SQOOP_OP_DIR}" \
--split-by ${SQOOP_SPLIT_BY} \
-m ${SQOOP_NUM_OF_MAPPERS} 1> ${SQOOP_TEMP_LOG} 

1 个答案:

答案 0 :(得分:0)

这是由于字段分隔符的更改。

您正在导入HDFS而未指定任何字段分隔符。因此,它将使用默认逗号。

您创建的Hive表可能有CTRL^A (默认)作为字段分隔符。

让它们同步,它应该有效。