引言
当需要在hive数仓中去创建测试表并构造测试数据时,通常需要在安装了hive客户端的服务器环境下,通过执行命令的方式建表。通过在HDFS上上传和加载数据文件的方式来加载数据到hive表中。其中操作算不得多复杂,但比较依赖对环境和命令的熟悉,并且操作不够可视化。这里介绍另一种更外快捷的可视化操作方法。
关键思路
操作依赖HDFS和HUE,hadoop集群中需要部署安装这部分服务。
通过HUE来执行hivesql,达到建表和查询结果数据的目的。
通过HDFS的可视化文件管理功能,达到上传数据文件实现hive数据存储映射。
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
详细操作
Step_1 使用HUE创建hive外部表
通过集群中HUE入口进入hue
执行hivesql创建测试数据库、数据表。创建完成后刷新页面可以看到新建的库和表。
示例脚本如下
– 创建一个新的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 进行数据文件的上传
在hdfs的目录系统中找到STPE_1中建表对应的LOCATION路径
可以看到建表完成后,自动创建了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’为行分隔符。构造一万条符合存格式的测试文件。
上传该数据文件到HDFS上,路径对应表的LOCATION位置
上传完成可以在LOCATION目录下看到该数据文件
现在可以去HUE中查询该表数据是否成功加载
至此完成测试数据构造。
注意:
数据文件编码建议为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’;
执行hivesql增加一个分区。
– 增加分区字段
alter table qywu_testdb_fq add partition(dt=“20221226”);文章来源:https://www.toymoban.com/news/detail-563406.html
查看HDFS目录,查看是否创建分区成功
可以看到这里创建分区成功,已分区字段值新建了一个hdfs路径,接下来构造数据并上传即可完成日期分区表的数据构造文章来源地址https://www.toymoban.com/news/detail-563406.html
到了这里,关于HIVE表数据快速构造(分区表、orc、text)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!