Hive 外部 table 未从 CSV 源读取整个字符串
Hive external table not reading entirety of string from CSV source
对于 Hadoop 世界来说相对较新,所以如果这很简单,我深表歉意,但我还没有在 SO 或其他地方找到任何关于此的内容。
简而言之,我在 Hive 中创建了一个外部 table,它从 HDFS 中的 CSV 文件文件夹中读取数据。问题在于,虽然第一列具有字符串数据类型,但它并未读取包含连字符的值的整个值。
例如:
Hive table 定义:
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 脚本,它生成 "CREATE Statements with all String data types, but you may update Hive script and change to proper types as needed" 并在以下 ST post、
中提供示例
您可以参考位于“Hadoop/Hive : Loading data from .csv on a local machine”的 Whosebug 线程了解更多详情。
对于 Hadoop 世界来说相对较新,所以如果这很简单,我深表歉意,但我还没有在 SO 或其他地方找到任何关于此的内容。
简而言之,我在 Hive 中创建了一个外部 table,它从 HDFS 中的 CSV 文件文件夹中读取数据。问题在于,虽然第一列具有字符串数据类型,但它并未读取包含连字符的值的整个值。
例如:
Hive table 定义:
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 脚本,它生成 "CREATE Statements with all String data types, but you may update Hive script and change to proper types as needed" 并在以下 ST post、
中提供示例您可以参考位于“Hadoop/Hive : Loading data from .csv on a local machine”的 Whosebug 线程了解更多详情。