Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • Hive自定义函数UDF编写
  • Hive查看元数据MySQL
  • Java查询Hive元数据
  • Hive命令大全
    • 命令行连接Hive
    • Linux命令行直接执行SQL-不进入Hive交互模式执行
    • 设置Hive简单查询不执行MapReduce
    • Hive关联Hbase表
      • hive创建外部表关联
      • hive创建内部表关联
    • Hive创建外部表
    • Hive创建内部表
    • Hive表指定Parquet格式Snappy压缩算法
    • DML
      • 清空表中所有数据
    • 导入数据-Load
      • 加载本地文件数据
      • 加载HDFS文件数据
    • Hive使用前指定Yarn队列
    • 多表同时插入
    • 查询结果保存到新创建表
  • Ambaris-Hive创建自定义函数报错
  • Hive数据倾斜处理集合
  • Hive窗口函数详细介绍
  • Hive自定义函数更新未生效
  • 《Hive教程》笔记
Jast-zsh
2023-03-10
目录

Hive命令大全

[toc]

# 命令行连接Hive

第一种方式:hive

> hive
1

第二种方式:beeline

beeline 
!connect jdbc:hive2://10.16.0.3:7001 

或者

beeline -u "jdbc:hive2://10.16.0.3:7001" -n hadoop -p hadoop
1
2
3
4
5
6

# Linux命令行直接执行SQL-不进入Hive交互模式执行

hive -e "SQL" 执行单条语句
hive -f /home/root/insert.sql 执行sql文件,适合多条语句
1
2

# 设置Hive简单查询不执行MapReduce

简单的查询,就是只是select,不带count,sum,group by这样的,都不走map/reduce,直接读取hdfs文件进行filter过滤。这样做的好处就是不新开mr任务,执行效率要提高不少,但是不好的地方就是用户界面不友好,有时候数据量大还是要等很长时间,但是又没有任何返回。

修改方法

在hive-site.xml里面有个配置参数hive.fetch.task.conversion

将这个参数设置为more,简单查询就不走map/reduce了,设置为minimal,就任何简单select都会走map/reduce

# Hive关联Hbase表

Hive集成Hbase方法:http://blog.csdn.net/u010376788/article/details/50905476

# hive创建外部表关联

可以关联hbase已有的表

  CREATE EXTERNAL TABLE hive_high_keyword(key string, keyword string, adCode string)   
    STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
    WITH SERDEPROPERTIES (  "hbase.columns.mapping"=":key,fn:keyword,fn:adCode"  )
    TBLPROPERTIES("hbase.table.name" = "ns1:high_keyword");
1
2
3
4

# hive创建内部表关联

只能关联hbase中没有的表,删除hive表后hbase表也会删除,并且通过hive创建hbase的内部表,存储数据仍然存在hbse中

CREATE TABLE biz0728(key string, name string)   
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
WITH SERDEPROPERTIES (  "hbase.columns.mapping"=":key,fn:name"  )
TBLPROPERTIES("hbase.table.name" = "biz0728");
1
2
3
4

# Hive创建外部表

create EXTERNAL TABLE u_info
(
    usrid STRING,
    age STRING,
    sex STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
    LINES TERMINATED BY '\n';
1
2
3
4
5
6
7
8

# Hive创建内部表

create  TABLE u_info
(
    usrid STRING,
    age STRING,
    sex STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
    LINES TERMINATED BY '\n';
1
2
3
4
5
6
7
8

# Hive表指定Parquet格式Snappy压缩算法

create EXTERNAL TABLE site_base_hive
(
  id string,
  site_code string,
  site_name string,
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
    LINES TERMINATED BY '\n'
    STIRED AS parquet TBLPROPERTIES('parquet.compression'='SNAPPY');
1
2
3
4
5
6
7
8
9

# DML

# 清空表中所有数据

truncate table tablename;
1

# 导入数据-Load

参考:http://blog.csdn.net/lifuxiangcaohui/article/details/40588929

# 加载本地文件数据

# 导入本地相对路径文件
load data local inpath 'a.txt' into table tableName;
# 导入本地绝对路径文件
load data local inpath '/home/root/a.txt' into table tableName;
# OverWrite
load data local inpath '/home/root/a.txt' overwrite into table tableName;
1
2
3
4
5
6
  • a.txt,文件路径默认是用户的根目录,如root用户,读取目录为/home/root/a.txt

# 加载HDFS文件数据

# 导入HDFS路径文件
load data inpath '/a.txt' into table tableName;
# 导入HDFS路径文件Overwrite
load data inpath '/a.txt' overwrite into table tableName;
1
2
3
4

# Hive使用前指定Yarn队列

set mapred.job.queue.name=queue3;
1

# 多表同时插入

同时写入tableName2与tableName3

FROM tableName1
INSERT OVERWRITE TABLE tableName2
   SELECT column1,colum2 
     GROUP BY year
INSERT OVERWRITE TABLE tableName3
   SELECT column1,count(1)
     WHERE column2 = 100
1
2
3
4
5
6
7

# 查询结果保存到新创建表

CREATE TABLE tableName
AS
SELECT column1,column2
FROM tableName2
1
2
3
4
上次更新: 2023/03/10, 20:58:04
Java查询Hive元数据
Ambaris-Hive创建自定义函数报错

← Java查询Hive元数据 Ambaris-Hive创建自定义函数报错→

最近更新
01
Linux可视化监控
02-26
02
Maven私服搭建
02-26
03
当ElasticSearch时间字段设置多个格式到底是用的哪个?
01-19
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式