Hive SQL-DML-insert插入数据

打印 上一主题 下一主题

主题 565|帖子 565|积分 1695

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:
    1. INSERT OVERWRITE DIRECTORY '/path/to/hdfs/directory'
    2. SELECT * FROM my_table;
    复制代码
  • 导出到本地文件系统:
    1. INSERT OVERWRITE LOCAL DIRECTORY '/path/to/local/directory'
    2. SELECT * FROM my_table;
    复制代码
在这两个示例中,数据将被导出到指定的 HDFS 或本地路径。默认环境下,数据以文本格式输出,但可以通过 STORED AS 选项指定差别的文件格式。


示例:


6.注意事项



  • Hive中的INSERT操作本质上是对文件的写操作。特别是在HDFS中,这意味着每次INSERT都会生成新文件。这大概会影响性能,特别是在大量小批量插入时。
  • 建议在实行大批量数据插入前调优Hive设置和考虑合适的文件格式和压缩机制。
  • 在实行大数据量的插入时,必要注意Hive服务器和Hadoop集群的资源设置,以避免过载。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表