hive beeline参数及示例用法

这篇具有很好参考价值的文章主要介绍了hive beeline参数及示例用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

beeline 是一个用于连接 HiveServer2 的命令行工具。

一、beeline参数

使用beeline -u可以指定连接的URL。
例如,beeline -u jdbc:hive2://localhost:10000/default 可以连接到本地的HiveServer2服务。
如果需要用户名和密码进行连接,则可以使用 beeline -u jdbc:hive2://localhost:10000/default -n username -p password 的方式进行连接。如果密码不是在-p之后提供的,则 beeline 将在初始化连接时提示输入密码。

-–incremental=[true/false]  从Hive 2.3版本往后默认是true,在它之前是默认为false。
-–showHeader=[true/false]    展示列名是否在查询结果中。默认是true。
-–outputformat=[table/vertical/csv/tsv/dsv/csv2/tsv2]    结果展示的模式。默认是table。dsv可配合delimiterForDSV一起使用,设置分隔符
-–delimiterForDSV= DELIMITER    用于输出格式中划分值的界定符。默认是 '|',如果需要输入特殊符号,如 '\n001' ,'\x01' 等需在前面加$ ,例 --delimiterForDSV=$'\t'
-e    后跟sql语句
-f  后跟sql语句文件,文件里sql语句前面可以设置hive参数
--hiveconf 给Hive的配置属性赋值,--hiveconf 属性 = value
--hivevar 配置变量名称和值,--hivevar 名称 = value,可用于给 sql 文件传值,例如 -hiveconf etl_date=20231129


结果展示格式(在 outputformat 参数中设置)
展示形式主要是将一行值的字段按照不同分割符分开,主要包括五种分割输出格式:csv, tsv, csv2, tsv2, dsv,目前csv和tsv已经被csv2和tsv2替代了。
csv2,tsv2和dsv格式的含义分别是:
csv2使用的是逗号,
tsv2使用的是tab空格,
dsv是可配置的。对于dsv格式,分隔符可以通过用参数 delimiterForDSV 进行设置,默认是 '|'。

二、示例

1、beeline默认的输出格式为table模式,-–showHeader=默认是true

beeline -e 'select * from import_db.table_test' > test1.txt

2、去掉列名,-–showHeader=false

beeline --showHeader=false -e 'select * from import_db.table_test' > test2.txt

3、用逗号分割

beeline --outputformat=csv2 -e 'select * from import_db.table_test'  > test3.txt

4、用tab作为值之间的分割符

beeline --outputformat=tsv2 -e 'select * from import_db.table_test'  > test4.txt

5、使用dsv默认的分割符,即 '|'

beeline --outputformat=dsv -e 'select * from import_db.table_test'  > test5.txt

6、以 '\t' 作为值之间得分割符(–delimiterForDSV=$'\t')

beeline --outputformat=dsv --delimiterForDSV=$'\t' -e 'select * from import_db.table_test'  > test6.txt

7、以 '#' 作为值之间得分割符(–delimiterForDSV=$'#')

beeline --outputformat=dsv --delimiterForDSV=$'#' -e 'select * from import_db.table_test'  > test7.txt


beeline -u jdbc:hive2://localhost:10000/default --showHeader=true --outputformat=dsv --delimiterForDSV=$'\t' -e 'select * from import_db.test' > test.txt
beeline -u "jdbc:hive2://localhost:10000/default;principal=xxxx" -e "show create table import_db.test"

三、常用日期格式

date +%F  #2023-11-30
date +%Y%m  #202311
date +%Y%m%d  #20231130
date +%Y%m01  #20231101


date +%Y%m%d  #20231130
date -d "1 month ago" +%Y%m%d  #20231030
date -d "1 month ago" +%Y%m01  #20231001

date -d "last month" +%Y%m%d  #20231030
date -d "last month" +%Y%m01  #20231001

date -d "`date -d "last month" +%Y%m01` last day" +%Y%m%d  #20230930


# 上月末(月初前一天)
date -d "`date +%Y%m01` last day" +%Y%m%d
date -d "`date +%Y%m01` last day" +%Y%m%d  #20231031
date -d "`date +%Y%m01` -1 day" +%Y%m%d  #20231031

# 月初后1天
date -d "`date +%Y%m01` 1 day" +%Y%m%d  #20231102

cur_date=20231102
echo $cur_date |cut -c 1-6  #202311
date -d `echo $cur_date |cut -c 1-6`"01" +%F  #2023-11-01
date -d "$(date -d `echo $cur_date |cut -c 1-6`"01" +%F) -1 day" +%Y%m%d  #20231031
date -d "$(date -d `echo $cur_date |cut -c 1-6`"01" +%F) last month" +%Y%m%d  #20231001

date -d "$(date -d "$(date -d `echo $cur_date |cut -c 1-6`"01" +%F) last month" +%Y%m%d) -1 day" +%Y%m%d  #20230930

#设置变量,获取年月
data_month=$(date +%Y%m)
data_file_${data_month}.dat

data_file_$(date +%Y%m).dat

# 跑批常用代码
cur_date=20231102
cur_date2=$(date -d "$(date -d `echo $cur_date |cut -c 1-6`"01" +%F) -1 day" +%Y%m%d)

beeline -u "jdbc:hive2://localhost:10000/default;principal=xxxx" -hiveconf cur_date=${cur_date} -hiveconf cur_date2=${cur_date2} -f test.sql

参考链接:

https://blog.csdn.net/sodaloveer/article/details/128617521


 文章来源地址https://www.toymoban.com/news/detail-767991.html

到了这里,关于hive beeline参数及示例用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 在 spark-sql / spark-shell / hive / beeline 中粘贴 sql、程序脚本时的常见错误

    《大数据平台架构与原型实现:数据中台建设实战》一书由博主历时三年精心创作,现已通过知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描

    2024年02月14日
    浏览(35)
  • Hive beeline客户端启动报错Could not open client transport with JDBC Uri: jdbc:hive2://hadoop101:10000: Fail

    在安装hive的时候,启动hiveserver2后,启动beeline客户端报错如下: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop101:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate

    2024年02月11日
    浏览(52)
  • TF-IDF (BigData, Data Mining)

    TF-IDF (term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。 TF 是词频(Term Frequency), IDF 是逆文本频率指数(Inverse Document Frequency)。 TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。 字词的重要

    2024年02月06日
    浏览(39)
  • Doris配置外表以及多个Hive外表的配置

    以Clickhouse、Doris、Starrocks等为代表的mpp分析数据库正在快速的兴起,以其高效查询、跨库整合能力收到广大技术人员的喜爱。本文主要浅显介绍下作者在使用Doris时,通过建立catlog进行跨库查询。 废话不多少,直接上代码 腾讯的TCHouse-D (腾讯改版doris)已经配置了jar包,无需

    2024年01月20日
    浏览(32)
  • Hive基础知识(十一):Hive的数据导出方法示例

    1)将查询的结果导出到本地 2)将查询的结果格式化导出到本地(加上一个以“,”隔开数据的格式) 3)将查询的结果导出到 HDFS 上(没有 local) 基本语法:(hive -f/-e 执行语句或者脚本 file) 导出的数据中有两个数据源,其中除了主信息之外,还包括记录主数据信息的元数据

    2024年01月22日
    浏览(39)
  • hive库操作示例

    1、常规表 创建数据库 使用数据库 创建表 插入数据 插入报错 [42000][10797] COMPILE FAILED: Semantic error: [Error 10797] Only allow to single insert into Hyperbase/ES/Transaction Orc 单行插入同样报错,下述分区表、分桶表均存在相同报错; 正确插入示例 查询数据 更新数据 删除数据 更新删除报错

    2024年02月11日
    浏览(29)
  • Hive sql 将多个字段组合成json格式

    新的项目中,有一个需求,前端展示一个字段中要包含多个字段,讨论后决定将多个字段转成Json类型进行展示,新字段类型为 arraydict 经历了多次试验,参考多个文章版本,终于改成了符合需求的SQL版本。 SQL代码如下: 结果展示:

    2024年02月16日
    浏览(39)
  • 大数据应用——Hive操作示例

     启动Hive完成如下任务: (1)新建member表 (2)将本地文件“/home/hadoop/member.txt”导入 member表中   (3)查询member表中所有记录 (4)查询member表中男同学(性别值为1)数据   (5)查询member表中22岁男同学数据   (6)统计member表中男同学和女同学(性别值为0)的人数   (7)删除

    2024年02月06日
    浏览(33)
  • Dockerfile多个from的使用及多个build-arg的使用示例

      从docker17.05版本开始,新增了Dockerfile多阶段(multistage)构建,dockerfile中允许使用多个FROM指令。   多个 FROM 指令并不是为了生成多根的层关系,最后生成的镜像仍以最后一条 FROM 为准,之前的 FROM 会被抛弃,那么之前的FROM 又有什么意义呢?   每一条 FROM 指令都是一个构

    2024年02月12日
    浏览(24)
  • hive anti用法

    a left anti join b :在查询过程中,剔除a表中和b表有交集的部分。 相当于 demo

    2024年02月16日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包