Hive 如何从sqoop导入(oracle到配置单元)中停止空值

Hive 如何从sqoop导入(oracle到配置单元)中停止空值,hive,sqoop,Hive,Sqoop,从oracle到配置单元的sqoop导入后,配置单元中出现空行 在sqoop--query中,我提到了pk不为null的地方 sqoop查询: sqoop import \ --connect "${SQOOP_CONN_STR}" \ --connection-manager "${SQOOP_CONNECTION_MANAGER}" \ --username ${SQOOP_USER} \ --password ${SQOOP_PASSWORD} \ --fields-terminated-

从oracle到配置单元的sqoop导入后,配置单元中出现空行

在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} 

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

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

您创建的配置单元表可能有
CTRL^A
(默认)作为字段分隔符


使它们同步,应该可以工作。

要过滤空行或空列吗?请提供您的sqoop命令sqoop导入--连接“${sqoop_CONN_STR}”--连接管理器“${sqoop_connection_manager}”--用户名${sqoop_USER}--密码${sqoop_password}--以${sqoop_DELIM}结尾的字段--空字符串“”--空非字符串“”--query${SQOOP\u QUERY}“\”--target dir“${SQOOP\u OP\u dir}”--split by${SQOOP\u split\u by}-m${SQOOP\u NUM\u OF_MAPPERS}1>${SQOOP\u TEMP\u LOG}导入命令正确。在配置单元查询期间,您是否得到
null