将PIG输出文件加载到Hive表中,其中包含一些空白单元格

时间:2016-03-26 14:48:21

标签: azure hive apache-pig sandbox etl

我已经成功地将250000记录CSV文件加载到HDFS中,并且我已经在其上执行了一些ETL功能,例如删除0-9,az和AZ以外的字符串中的任何字符,这样它就很干净了。

我已将此ETL的输出保存到HDFS以加载到Hive中。在Hive中,我为表创建了模式,并为每列设置了适当的数据类型。

create external table pigOutputHive (
  id string,
  Score int,
  ViewCount int,
  OwnerUserId string,
  Body string,
  Rank int
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
location '/user/admin/PigOutputETL';

当我对数据运行简单查询时,例如:

SELECT * FROM pigoutputhive LIMIT 100000;

数据看起来应该是这样,当我将其下载到本地计算机并在Excel中以CSV格式查看时,它看起来也很不错。

当我尝试在同一个表上运行以下查询时,即使对于字符串列,我也会将每个字段作为整数返回。请参见下面的屏幕截图。

Hive Output with Integers for all columns

谁能看到我哪里出错了?在最初的250000行中,特定字段中有一些空格,例如OwnerUserId,我是否需要告诉Pig或Hive如何处理这些?

0 个答案:

没有答案