使用 Hive CLI 处理 Hive 复杂数据类型
Hive complex data types using Hive CLI
我是 Hadoop
和 Big Data
的新手。我有 Hive
版本 Hive 1.1.0-cdh5.4.0
.现在面临在 HIVE
table 中创建复杂数据类型的一些基本问题。我有一个客户 table,创建为:
create external table if not exists customer_details1 (customerId string, mobileNumber string, address ARRAY <STRUCT<houseNo:string,street1:string>>);
我想 push data
使用 INSERT statements
进入这个 table。有人可以告诉我如何使用 command prompt
将虚拟记录推入此 table 吗?
我不想使用外部文件(加载数据)将数据推送到其中。
有人能帮帮我吗?
正在 Hive 中创建 table:
create table if not exists mytable1 (id int, name string, address array<struct<street : string, town : string>>) comment 'my practice table' ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
我认为 Hive 目前不支持简单的插入查询。
Check this link
通常 external table 只是一个包装器,使 Hive 能够从平面文件中 读取。
如果你想加载 数据到 Hive table(如 LOAD-INSERT 或 INSERT-SELECT),你应该考虑 管理 table。它默认使用 Sequence 格式,但您可以选择 Orc、Text、Avro 等格式。
如果你想运行 原子插入(如INSERT-VALUES)你需要Hive V0.14+加上一个托管table 事务支持 =>需要Orc在后台进行分桶、周期性压缩等
如果您能迎接挑战,阅读文档可能会很有用,例如Inserting values into tables from SQL and Hive Transactions rationale
正如@Samson Scharfrichter 所提到的,数组结构的原子插入可能无法配置到表中。而且我已经决定将我的表移动到 hbase 以支持在写入时添加列的灵活性。感谢所有的建议和指南。
我是 Hadoop
和 Big Data
的新手。我有 Hive
版本 Hive 1.1.0-cdh5.4.0
.现在面临在 HIVE
table 中创建复杂数据类型的一些基本问题。我有一个客户 table,创建为:
create external table if not exists customer_details1 (customerId string, mobileNumber string, address ARRAY <STRUCT<houseNo:string,street1:string>>);
我想 push data
使用 INSERT statements
进入这个 table。有人可以告诉我如何使用 command prompt
将虚拟记录推入此 table 吗?
我不想使用外部文件(加载数据)将数据推送到其中。
有人能帮帮我吗?
正在 Hive 中创建 table:
create table if not exists mytable1 (id int, name string, address array<struct<street : string, town : string>>) comment 'my practice table' ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
我认为 Hive 目前不支持简单的插入查询。
Check this link
通常 external table 只是一个包装器,使 Hive 能够从平面文件中 读取。
如果你想加载 数据到 Hive table(如 LOAD-INSERT 或 INSERT-SELECT),你应该考虑 管理 table。它默认使用 Sequence 格式,但您可以选择 Orc、Text、Avro 等格式。
如果你想运行 原子插入(如INSERT-VALUES)你需要Hive V0.14+加上一个托管table 事务支持 =>需要Orc在后台进行分桶、周期性压缩等
如果您能迎接挑战,阅读文档可能会很有用,例如Inserting values into tables from SQL and Hive Transactions rationale
正如@Samson Scharfrichter 所提到的,数组结构的原子插入可能无法配置到表中。而且我已经决定将我的表移动到 hbase 以支持在写入时添加列的灵活性。感谢所有的建议和指南。