ToB企服应用市场:ToB评测及商务社交产业平台

标题: Hive SQL-DML-insert插入数据 [打印本页]

作者: 郭卫东    时间: 2024-8-26 18:48
标题: Hive SQL-DML-insert插入数据
Hive SQL-DML-insert插入数据





1. 插入静态数据


可以直接插入具体的值到Hive表中:
  1. INSERT INTO TABLE tablename (column1, column2, column3)
  2. VALUES (value1, value2, value3),
  3.        (value4, value5, value6),
  4.        ...;
复制代码
2. 插入查询结果


将一条查询的结果直接插入到另一个表中。这是一种很常见的操作,用于数据转移和转换:
  1. INSERT INTO TABLE tablename
  2. SELECT column1, column2, column3
  3. FROM othertable
  4. WHERE condition;
复制代码
3. 多重插入和静态分区插入


对于分区表,可以在插入时指定分区。这不仅可以进步查询效率,而且还能更好地管理数据:
  1. -- 插入到指定分区
  2. INSERT INTO TABLE tablename PARTITION (partition_column='partition_value')
  3. SELECT column1, column2, column3
  4. FROM othertable
  5. WHERE condition;
复制代码

  1. -- 插入不同分区的数据
  2. FROM from_table
  3. INSERT INTO TABLE tablename PARTITION (partition1)
  4. SELECT column1, column2 WHERE condition1
  5. INSERT INTO TABLE tablename PARTITION (partition2)
  6. SELECT column1, column2 WHERE condition2;
复制代码
4. 动态分区插入




Hive还支持在实行INSERT操作时动态创建分区。这必要设置一些设置参数,如启用动态分区:

  1. SET hive.exec.dynamic.partition=true;
  2. SET hive.exec.dynamic.partition.mode=nonstrict;
  3. INSERT INTO TABLE tablename PARTITION (partition_column)
  4. SELECT column1, column2, partition_column
  5. FROM othertable;
复制代码



5.导出数据

导出数据是从 Hive 中提取数据的过程,通常用于将数据转移到本地文件系统、HDFS 或其他数据存储中。
INSERT OVERWRITE 用于将查询结果或表数据写入到特定的输出位置。可以将数据导出到 HDFS 或本地文件系统。这个方法支持多种文件格式,如 Text、Parquet、ORC 等。

在这两个示例中,数据将被导出到指定的 HDFS 或本地路径。默认环境下,数据以文本格式输出,但可以通过 STORED AS 选项指定差别的文件格式。


示例:


6.注意事项



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4