sql—如何将直接值插入配置单元表?

zsohkypk  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(379)

我是新来的Hive。我只是想知道如何将数据直接插入到配置单元表中

Create table t1 ( name string)

and I want to insert a value eg name = 'John'

但是我看到了这么多的文档,没有任何将数据直接插入表的示例。我需要在内部或外部创建一个文件,并添加值“john”并将此数据加载到表中,或者可以从另一个表中加载数据。
我的目标是通过直接提供一个值将数据直接添加到配置单元表中?我提供了一个oracle示例,说明我要实现的sql查询:

INSERT INTO t1 (name)
values ('John')

我想要一个与上面相同的声明?

xn1cxnb4

xn1cxnb41#

您可以使用配置单元的表生成函数,如exlode()或stack()

示例

表结构as(name string,age int)

INSERT INTO TABLE target_table
SELECT STACK(
    2,                 # Amount of record
    'John', 80,        # record 1
    'Bill', 61         # record 2
    ) 
FROM dual              # Any table already exists
LIMIT 2;               # Amount of record! Have to add this line!

这将在目标表中添加2条记录。

fumotvh3

fumotvh32#

最新版本的Hive, insert into .. values (...) 不支持。插入/更新/删除语法的增强功能正在开发中。请查看在具有完全acid支持的配置单元中实现插入、更新和删除

o2rvlv0m

o2rvlv0m3#

版本的配置单元0.14现在支持向表中插入值。
CREATE TABLE students (name VARCHAR(64), age INT, gpa DECIMAL(3, 2)) CLUSTERED BY (age) INTO 2 BUCKETS STORED AS ORC; INSERT INTO TABLE students VALUES ('fred flintstone', 35, 1.28), ('barney rubble', 32, 2.32); 更多信息请访问https://cwiki.apache.org/confluence/display/hive/languagemanual+dml#languagemanualdml-从SQL将值插入到表中

相关问题