arrays - 配置单元-从文件中将值插入数组(逗号和分号分隔)

标签 arrays hadoop hive

我有一个用分号分隔列的文件。我想将type列添加为Array<String>。我现在所拥有的是我像这样存储原始值(type列是text):

|  age  |  type  |  country  |
     24      a          us
     29      a,b        au         <--------- this line is not OK
     25      a          uk

我的文件如下所示:
age;type1,type2;country
age;type1;country
age;type2;country

如何正确将类型作为Array<String>放在表中?

最佳答案

相同的数据将起作用。创建表:

CREATE TABLE array_data_type(
  age int,
  type array<string>,
  contry varchar(100))
 ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY '\;' 
  COLLECTION ITEMS TERMINATED BY ',';

在此表中加载相同的数据。

如果此数据在本地文件中:
LOAD DATA LOCAL INPATH '<file-path>' INTO TABLE array_data_type;

或HDFS文件:
LOAD DATA INPATH '<hdfs-file-path>' INTO TABLE array_data_type;

关于arrays - 配置单元-从文件中将值插入数组(逗号和分号分隔),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40049200/

相关文章:

sql - 根据分组依据获取有限的数据

oracle11g - Hive 二进制和字符串数据类型

Java:将 bytearray 转换为字符串和 xml

javascript - 如何在数据数组和对象的合并中使用对象分配而不是扩展语法?

c - Objective C boolean 数组

hadoop - hive 计数(*)无限期运行,并且数据预先填充了值

python - 来自单独数组中纬度/经度坐标的(纬度,经度)的所有可能点

spring - 使用 Spring 的HBase连接失败

hadoop - 如何根据给定格式在Pig中合并两行?

java - 什么是 hbase 压缩文件大小