使用配置单元cli配置单元复杂数据类型

3j86kqsm  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(453)

我是新来的 Hadoop 以及 Big Data . 我有 Hive 版本 Hive 1.1.0-cdh5.4.0 。在中创建复杂数据类型时面临一些基本问题 HIVE 现在是table。我有一个customer表,创建为:

create external table if not exists  customer_details1 (customerId string, mobileNumber string, address ARRAY <STRUCT<houseNo:string,street1:string>>);

我会想的 push data 使用 INSERT statements . 有人能告诉我如何使用 command prompt ? 我不想使用外部文件(加载数据)将数据推送到这里。
有人能帮我吗?

67up9zun

67up9zun1#

通常,外部表只是一个 Package 器,使配置单元能够读取平面文件。
如果要将数据加载到配置单元表中(如加载插入或插入选择),则应考虑使用托管表。默认情况下,它将使用序列格式,但您可以选择orc、text、avro等等。
如果你想运行原子插入(如插入值),你需要hivev0.14+加上一个带有事务支持的托管表=>需要orc和bucketing,在后台定期压缩等等
如果您能胜任这一挑战,那么阅读文档可能会很有用,例如从sql和hive事务向表中插入值

jecbmhm3

jecbmhm32#

正如@samson scharfrichter所提到的,数组结构的原子插入可能不可能用于配置单元表。我决定将我的表移动到hbase,以支持在写操作时添加列的灵活性。感谢所有的建议和指导方针。

ikfrs5lh

ikfrs5lh3#

正在配置单元中创建表:

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目前不支持简单的插入查询。
检查此链接

相关问题