mysql hive 建表语句_hive建表及增删查改

hive表:可以加分区字段、存储于hdfs目录中

建表语句:

create table db.table_name(

BANKNAME        string,

REGIONNAME        string,

MANUFACTURER    string,

YZWAZ            int,

AZWKT            int,

YX                int,

ZT                int,

TB                int,

SW                int

)partitioned by (statmonth string)  row format delimited fields terminated by '\t' stored as textfile;

操作分区:

1、添加分区:

ALTER TABLE table_name if not exists add partition (partName='xxx');

2、删除分区:

ALTER TABLE table_name DROP IF EXISTS PARTITION (partName='xxx');

操作表:

1、删除表:drop table table_name;

2、创建表:create table db.table_name()partitioned by (statmonth string)  row format delimited fields terminated by '\t' stored as textfile;

操作数据——>1、删除表数据:truncate table table_name;

2、插入数据:

①insert into table_name1 select * from table_name2;//insert into table_name values("","","");

②insert overwrite table_name1 select * from table_name2;

3、输入数据:

①sqoop import --hive-import --connect jdbc:mysql://ip:3306/db  --username user --password passwd --query "

and  \$CONDITIONS " --verbose -m 4 --hive-table db.table_name --target-dir user/hive/warehouse/bigdata.db/table_name --split-by 表主键 --hive-partition-key 分区字段 --hive-partition-value '2019-01'

(其中前面为数据源的数据库配置如Mysql

verbose -m 几个分区

target-dir 为hdfs存储路径用show create table table_name 可以看到,从/user处开始

split-by 按某个字段切割,所以该字段为主键级别,不能重复

分区字段为自己定义的建表时指定)

②beeline>load data local inpath '/home/user/data.txt' overwrite into table table_name  partition ( partName='');

操作hdfs:

1、查询:hdfs dfs -ls 目录;

查询hdfs中名为name1的文件: hdfs dfs ls name1

2、删除: hdfs dfs -rm 文件;//hdfs dfs -rm -r 文件夹;

3、抓取内容 :  bin/hdfs dfs -cat 目录/user/...

4、传文件至hdfs:hdfs dfs -put file.txt 目录

5、获取文件:hdfs dfs -get 目录文件 文件名

6、创建文件: hdfs dfs -mkdir /user/目录/文件名

7、复制文件: hdfs dfs -copyFromLocal 源路径 路径

8、合并文件到本地:hdfs dfs -getmerge 位于hdfs中的原文件(里面有多个文件) 合并后的文件名

hive执行sql文件:hive -f filename.sql

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值