栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hive-sql —— 新建空表,并上传数据(本地文件数据、HDFS文件数据)

hive-sql —— 新建空表,并上传数据(本地文件数据、HDFS文件数据)

一般建表的时候要建外部表,这样一不小心删除的话,还能够恢复。

1、自己设计表结构,然后上传文件到该表中 1.1 新建表,并将本地csv文件上传到该表中(Linux命令行模式下)

准备本地文件,一般都是csv文件。

1、注意记下该文件的分隔符;
2、记下该文件字段名称和字段类型,以及字段顺序!!;
3、注意该文件是否有表头,如果有,在下面进行载入空表的时候,表头也会被当做数据传入表中。如果不需要,就把表头去掉,但是注意记下字段顺序;

建表
写好建表的sql文件,假设命名为create_table.sql,内容如下;

--create_table.sql内容如下
CREATE EXTERNAL TABLE IF NOT EXISTS algo_tinyv.sample_data (
user_id STRING COMMENT '用户唯一id',
order_id STRING COMMENT '订单编号'
)--注意字段顺序与上述文件字段的顺序要保持一致!!!!
--PARTITIonED BY(dt STRING) --分区
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' --以逗号作为分隔符
STORED AS TEXTFILE;

运行 hive -f create_table.sql

-f的含义是运行一个sql文件,若运行单个sql语句则是hive -e “select * from table”;

载入本地数据

运行 hive -e "load data local inpath 'sample_data.csv' overwrite into table 库名.表名 PARTITION(dt='字段名')"

1、overwrite的意思是覆盖表algo_tinyv.sample_data中的数据!
2、PARTITION:建一个分区表,如果没有可省略

1.2 新建表,并将hdfs文件上传到该表中(hive-sql模式下)

准备hdfs文件

1、注意记下该文件的分隔符;
2、记下该文件字段名称和字段类型,以及字段顺序!!;
3、注意该文件是否有表头,如果有,在下面进行载入空表的时候,表头也会被当做数据传入表中。如果不需要,就把表头去掉,但是注意记下字段顺序;

建空表并传入数据
hive-sql模式下,运行

use 库名; # 选择数据库
drop table 库名.表名;
create external table if not exists 库名.表名 (
appl_no string COMMENT '订单id',
score string COMMENT '分数'
)--注意字段顺序与上述文件字段的顺序要保持一致!!!!
row format delimited fields terminated by 't' --设置分隔符
lines terminated by 'n'
stored as textfile
location '/home/workdir/yourHDFSfile; --hdfs文件位置
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/355169.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号