我必须从oracle表中的数据创建一个配置单元表。我正在做一个sqoop,从而将oracle数据转换成hdfs文件。然后我在hdfs文件上创建一个配置单元表。sqoop成功完成,文件也在hdfs目标目录中生成。然后在hive中运行create table脚本。创建表。但它是一个空表,在配置单元表中看不到任何数据。有人遇到过类似的问题吗?
yws3nbqq1#
你的Hive脚本和你的期望是错误的。您正试图在已导入的数据上创建分区表,分区将无法正常工作。如果查询中没有分区,则可以看到数据。基本上,如果需要分区表,就不能像上面尝试的那样在底层数据上创建。如果需要配置单元分区,请将中间表或该sqoop目录中的数据加载到分区表以获取配置单元分区。
ujv3wf0j2#
配置单元的默认分隔符是ctrla,如果不指定任何分隔符,它将采用默认分隔符。在您的配置单元脚本中添加下面的行。以'\t'结尾的行格式分隔字段
2条答案
按热度按时间yws3nbqq1#
你的Hive脚本和你的期望是错误的。您正试图在已导入的数据上创建分区表,分区将无法正常工作。如果查询中没有分区,则可以看到数据。
基本上,如果需要分区表,就不能像上面尝试的那样在底层数据上创建。如果需要配置单元分区,请将中间表或该sqoop目录中的数据加载到分区表以获取配置单元分区。
ujv3wf0j2#
配置单元的默认分隔符是ctrla,如果不指定任何分隔符,它将采用默认分隔符。在您的配置单元脚本中添加下面的行。
以'\t'结尾的行格式分隔字段