HIVE表数据快速构造(分区表、orc、text)

这篇具有很好参考价值的文章主要介绍了HIVE表数据快速构造(分区表、orc、text)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言
当需要在hive数仓中去创建测试表并构造测试数据时,通常需要在安装了hive客户端的服务器环境下,通过执行命令的方式建表。通过在HDFS上上传和加载数据文件的方式来加载数据到hive表中。其中操作算不得多复杂,但比较依赖对环境和命令的熟悉,并且操作不够可视化。这里介绍另一种更外快捷的可视化操作方法。
关键思路
操作依赖HDFS和HUE,hadoop集群中需要部署安装这部分服务。
hive创建orc表,hive,hadoop,大数据

通过HUE来执行hivesql,达到建表和查询结果数据的目的。
通过HDFS的可视化文件管理功能,达到上传数据文件实现hive数据存储映射。

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
详细操作

Step_1 使用HUE创建hive外部表
通过集群中HUE入口进入hue
hive创建orc表,hive,hadoop,大数据
hive创建orc表,hive,hadoop,大数据
hive创建orc表,hive,hadoop,大数据
执行hivesql创建测试数据库、数据表。创建完成后刷新页面可以看到新建的库和表。
hive创建orc表,hive,hadoop,大数据

示例脚本如下
– 创建一个新的db 用于测试
create database qywu_testdb;

– 选中这个测试db
use qywu_testdb;

– 创建测试表 注意需要保存为外部表 ,数据文件格式为TEXTFILE并且指定location位置
CREATE EXTERNAL TABLE qywu_testdb1
(
name STRING,
age STRING,
gpa STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’
STORED AS TEXTFILE
LOCATION ‘/user/bigshan/qywu_testdb1’;

这里需要注意
 创建外部表并且LOCATION 指定源数据存储的路径,不指定的话 hive 会在 /user/hive/warehouse 下以外部表的表名创建目录并将数据存储在这里。
 创建外部表的好处是导入数据到外部表,只需导入数据到建表语句中 LOCATION 参数指定的 HDFS 目录下即可
 保存数据文件指定为TEXTFILE格式,方便数据文件构造,若指定表需存储为其他格式如ORC,可通过先创建TEXTFILE表,再用insert导入到其他ORC格式的表中。

Step_2 从HDFS的namenode ui 进行数据文件的上传
hive创建orc表,hive,hadoop,大数据
hive创建orc表,hive,hadoop,大数据
在hdfs的目录系统中找到STPE_1中建表对应的LOCATION路径
hive创建orc表,hive,hadoop,大数据
可以看到建表完成后,自动创建了qywu_testdb1这个目录,并且目录下暂时不存在任务数据。
Step_3 生成对应测试表结构的数据文件,并通过页面上传到对应表的LOCATION位置下
参考建表的数据结构
CREATE EXTERNAL TABLE qywu_testdb1
(
name STRING,
age STRING,
gpa STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’
STORED AS TEXTFILE
LOCATION ‘/user/bigshan/qywu_testdb1’;
测试表有三个字段,并且以’/t‘作为字段分隔符,未指定行分隔符,默认以‘\n’为行分隔符。构造一万条符合存格式的测试文件。
hive创建orc表,hive,hadoop,大数据
上传该数据文件到HDFS上,路径对应表的LOCATION位置
hive创建orc表,hive,hadoop,大数据
上传完成可以在LOCATION目录下看到该数据文件
hive创建orc表,hive,hadoop,大数据
现在可以去HUE中查询该表数据是否成功加载
hive创建orc表,hive,hadoop,大数据
hive创建orc表,hive,hadoop,大数据
至此完成测试数据构造。
注意:
 数据文件编码建议为UTF-8,否则可能中文乱码
 Hive表数据在hdfs目录下,可以同时存在多个数据文件,这意味着需要增加表内数据时,可以通过复制上传多个数据文件的方式,快速实现表数据增加

补充说明-构造日期分区表和表数据
实际数据治理场景下,治理后的数据模型,经常是日期分区表,下面简单介绍下构造分区表数据。
首先创建分区表,指定dt为分区字段
– 创建分区表
CREATE EXTERNAL TABLE qywu_testdb_fq
(
name STRING,
age STRING,
gpa STRING
)partitioned by (dt string) --指定分区字段
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’
STORED AS TEXTFILE
LOCATION ‘/user/bigshan/qywu_testddb_fq_datadir’;
hive创建orc表,hive,hadoop,大数据
执行hivesql增加一个分区。
– 增加分区字段
alter table qywu_testdb_fq add partition(dt=“20221226”);

查看HDFS目录,查看是否创建分区成功
hive创建orc表,hive,hadoop,大数据
可以看到这里创建分区成功,已分区字段值新建了一个hdfs路径,接下来构造数据并上传即可完成日期分区表的数据构造文章来源地址https://www.toymoban.com/news/detail-563406.html

到了这里,关于HIVE表数据快速构造(分区表、orc、text)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Hive数据加载方式(load、insert;普通表、分区表)

    介绍 Hive 数据加载方式(insert、load) 基础语法: load data [local] inpath \\\'/opt/module/datas/student.txt\\\' [overwrite] into table student[partition ] 参数说明: 1 load data: 表示加载数据 2 local: 表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表 3 inpath: 表示加载数据的路径 相对路径,例如

    2024年02月03日
    浏览(10)
  • 大数据开发之Hive(查询、分区表和分桶表、函数)

    大数据开发之Hive(查询、分区表和分桶表、函数)

    1、查询语句语法 2、书写次序和执行次序 顺序 书写次序 书写次序说明 执行次序 执行次序说明 1 select 查询 from 先执行表与表直接的关系 2 from 先执行表与表直接的关系 on 先执行表与表直接的关系 3 join on 先执行表与表直接的关系 join 先执行表与表直接的关系 4 where 先执行表

    2024年01月17日
    浏览(6)
  • hive分区表 静态分区和动态分区

    现有数据文件 data_file 如下: 2023-08-01,Product A,100.0 2023-08-05,Product B,150.0 2023-08-10,Product A,200.0 需要手动指定分区 现有源数据表如下: CREATE TABLE sales_source (     sale_date STRING,     product STRING,     amount DOUBLE ); INSERT INTO sales_source VALUES     (\\\'2023-08-01\\\', \\\'Product A\\\', 100.0),     (\\\'2023-08-

    2024年02月10日
    浏览(8)
  • Hive分区表实战 - 多分区字段

    Hive分区表实战 - 多分区字段

    本实战教程通过一系列Hive SQL操作,演示了如何在大数据环境下创建具有省市分区的大学表,并从本地文件系统加载不同地区的学校数据到对应分区。首先,创建名为 school 的数据库并切换至该数据库;接着,在数据库中定义一个名为 university 的分区表,其结构包括ID和名称两

    2024年01月15日
    浏览(10)
  • HIVE创建分区表

    HIVE创建分区表

    partitioned by ( c2 string ) # 创建分区 c1跟c2都是字段,但是创建的时候不能写在t2里面,只能写在分区里面(同时select查询的时候,c2的字段也要写在最后面) 要加载数据到分区表,只需在原来的加载数据的语句上增加partition,同时指定分区的字段值即可。 注意:当你退出

    2024年02月15日
    浏览(8)
  • Hive分区表修改(增删)列

    环境:CDH6.3.0,Hive 2.1.1-cdh6.3.0 基础数据分区表test1,包含a,b,c,d共4列加分区列p_day,向其中插入两行数据 表中数据及parquet文件信息如下: test2表直接使用test1表的文件: 修复分区并查询数据 删除test2表的a列,看起来只有通过replace columns实现,但是运行报错,根据官方文档,只

    2023年04月26日
    浏览(13)
  • Hive ---- 分区表和分桶表

    Hive ---- 分区表和分桶表

    Hive中的分区就是把一张大表的数据按照业务需要分散的存储到多个目录,每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择查询所需要的分区,这样的查询效率会提高很多。 1. 创建分区表 2. 分区表读写数据 1)写数据 (1)load 数据准备 在/opt/module/hiv

    2024年02月10日
    浏览(23)
  • Hive 分区表新增字段 cascade

    在以前上线的分区表中新加一个字段,并且要求添加到指定的位置列。 加 cascade 操作 创建测试表 插入测试数据 查看现有数据 官网添加列的语法 注意: Hive 1.1.0 中有 CASCADE|RESTRICT 子句。 ALTER TABLE ADD|REPLACE COLUMNS CASCADE 命令修改表元数据的列,并将相同的更改级联到所有分区

    2024年02月11日
    浏览(9)
  • Hive 分区表和分桶表

    在《Hive 建表语句解析》文章中,建表的时候我们可以使用 PARTITIONED BY 子句和 CLUSTERED BY 子句来创建分区表和分桶表,为什么要创建分区表和分桶表呢?分区表和分桶表有什么区别呢? 1. 为什么分区 在Hive 查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时

    2023年04月23日
    浏览(28)
  • 二次开发DataX以支持HIVE分区表

    二次开发DataX以支持HIVE分区表

            最近在一个大数据的项目开发中使用到了数据同步工具DataX,但在使用过程中发现了DataX对HIve分区表的支持不太友好。         具体体现在将数据库中的数据同步到HIVE分区表时,写入目录为HIVE表分区为dt=XXXX,如果不提前创建该分区,会报目录不存在的错误,如

    2024年02月16日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包