繁体   English   中英

配置单元外部表无法从CSV源读取字符串的全部

[英]Hive external table not reading entirety of string from CSV source

相对于Hadoop世界而言,这是相对较新的,因此,如果这很容易的话,我深表歉意,但是我在SO或其他地方都没有找到任何相关内容。

简而言之,我在Hive中创建了一个外部表,该表从HDFS中的CSV文件文件夹中读取数据。 问题是,尽管第一列具有字符串数据类型,但它不会读取包含连字符的值的整个值。

例如:

配置单元表定义:

CREATE EXTERNAL TABLE BG (
  `Id` string,
  `Someint` int,
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/Path/To/Folder'
TBLPROPERTIES ("skip.header.line.count"="1");

示例数据:

506253-A,10
506254-C,19
506233,8

当我在Hive中查询数据或在HCat中浏览时,这是我看到的:

Id Someint
506253 10
506254 19
506233 8

有任何想法吗? 提前致谢!

您正在使用哪个版本的Hive? 在Amazon EMR的Hive版本0.13.1上,我运行您的代码并获得以下内容

hive> CREATE EXTERNAL TABLE BG (
    >   `Id` string,
    >   `Someint` int
    > )
    > ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    > LOCATION '/tmp/example'
    > TBLPROPERTIES ("skip.header.line.count"="1");
OK
Time taken: 0.598 seconds
hive> select * from BG;
OK
506253-A        10
506254-C        19
506233  8
Time taken: 0.714 seconds, Fetched: 3 row(s)

我已经讨论过从CSV文件自动生成Hive脚本,它会生成“具有所有String数据类型的CREATE语句,但是您可以根据以下ST帖子中的示例生成Hive脚本并根据需要更改为适当的类型”,

您可以参考“ Hadoop / Hive:从本地计算机上的.csv加载数据 ”中的Stackoverflow线程获取更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM