我是新来的 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
? 我不想使用外部文件(加载数据)将数据推送到这里。
有人能帮我吗?
3条答案
按热度按时间67up9zun1#
通常,外部表只是一个 Package 器,使配置单元能够读取平面文件。
如果要将数据加载到配置单元表中(如加载插入或插入选择),则应考虑使用托管表。默认情况下,它将使用序列格式,但您可以选择orc、text、avro等等。
如果你想运行原子插入(如插入值),你需要hivev0.14+加上一个带有事务支持的托管表=>需要orc和bucketing,在后台定期压缩等等
如果您能胜任这一挑战,那么阅读文档可能会很有用,例如从sql和hive事务向表中插入值
jecbmhm32#
正如@samson scharfrichter所提到的,数组结构的原子插入可能不可能用于配置单元表。我决定将我的表移动到hbase,以支持在写操作时添加列的灵活性。感谢所有的建议和指导方针。
ikfrs5lh3#
正在配置单元中创建表:
我认为hive目前不支持简单的插入查询。
检查此链接