beeline连接hive的导出数据格式的参数及设置

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


beeline数据导出参数格式

  • 参考语句
beeline -u jdbc:hive2://host:10000 --incremental=true --showHeader=false --outputformat=dsv --delimiterForDSV=$'\t' -e 'select * from test' > ./file.txt
  • 参数说明
参数 说明
–incremental=[true/false] 从Hive 2.3版本往后默认是true,在它之前是默认为false。当设置为false时,为了最佳的展示列宽,完整的结果集会在展示之前被收集然后缓存起来。当设置为true时,结果集一旦被抓取到就会立即展示, 为了在展示列的填充额外消耗更少的延迟和内存。当你在客户端遭遇一个内存溢出时,推荐设置–incremental=true (因为抓取到的结果集非常大)。
–showHeader=[true/false] 展示列名是否在查询结果中。默认是true。用例: beeline --showHeader=false
–outputformat=[table/vertical/csv/tsv/dsv/csv2/tsv2] 结果展示的模式。默认是table。dsv可配合delimiterForDSV一起使用,设置分隔符
–delimiterForDSV= DELIMITER 用于输出格式中划分值的界定符。默认是‘|’,如果需要输入特殊符号,如‘\n001’ ,‘\x01’等需在前面加$ ,例 --delimiterForDSV=$’\t’
-e 导出sql
  • 结果展示格式(在outputformat参数中设置)

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


举例说明

  • 方式一:未设置showHeader、outputformat和delimiterForDSV参数的值,说明使用的是Beeline默认的输出格式,从outputformat说明中得知Beeline默认的输出各式为table模式,所以接下来就需要弄清楚table模式下字段分隔符是否为“|”,并且列名是否在查询结果中。–showHeader=默认是true。

语句

beeline -e "select * from table_test > ./test.txt"

展示结果如下

+------------+--------------+------------------+----------+-------------+----------------+--------------+
| area_code  |   acc_nbr    |     serv_id      | prod_id  |  time_tag   |   model_type   | rule_result  |
+------------+--------------+------------------+----------+-------------+----------------+--------------+
| 777        | 18028137123  | 120000485555514  | 3102     | 2023010914  |     507		 | 10001        |
+------------+--------------+------------------+----------+-------------+----------------+--------------+
  • 方式二:去掉列名,–showHeader=false

语句

beeline --showHeader=false -e "select * from table_test > ./test.txt"

展示结果如下

| 777        | 18028137123  | 120000485555514  | 3102     | 2023010914  |     507		 | 10001        |
  • 方式三:如果值之间用逗号分割,可以在beeline执行语句中加入–outputformat=csv2;如果值之间用tab分割,可以在beeline执行语句中加入–outputformat=tsv2。如果方式的分割符不满足需求,想通过其他分割符来分割beeline的执行结果值,可以在beeline执行语句中加入–outputformat=dsv2和–delimiterForDSV=其他分割符号。

1)用逗号分割

语句

beeline --outputformat=csv2 -e "$tj_sql"  > ./test_3.txt

展示结果如下

area_code,acc_nbr,serv_id,prod_id,time_tag,model_type,rule_result
777,18028137123,120000485555514,3102,2023010914,507,10001

2)用tab作为值之间的分割符

语句

beeline --outputformat=tsv2 -e "$tj_sql"  > ./test_3.txt

展示结果如下

area_code       acc_nbr serv_id prod_id time_tag        model_type      rule_result
777     18028137123     120000485555514 3102    2023010914      507 10001

3)其他分割符,将beeline的输出格式设置(–outputformat=dsv)为dsv,使用dsv默认的分割符,即‘|’。

语句

beeline --outputformat=dsv -e "$tj_sql"  > ./test_3.txt

展示结果如下

area_code|acc_nbr|serv_id|prod_id|time_tag|model_type|rule_result
777|18028137123|120000485555514|3102|2023010914|507|10001

4)其他分割符,将beeline的输出格式设置为dsv(–outputformat=dsv),并以“\t”作为值之间得分割符(–delimiterForDSV=$‘\t’)。

语句

beeline --outputformat=dsv --delimiterForDSV=$'\t' -e "$tj_sql"  > ./test_3.txt

展示结果如下

area_code       acc_nbr serv_id prod_id time_tag        model_type      rule_result
777     18028137123     120000485555514 3102    2023010914      507 10001

5)其他分割符,将beeline的输出格式设置为dsv(–outputformat=dsv),并以“#”作为值之间得分割符(–delimiterForDSV=$‘#’)。

语句

beeline --outputformat=dsv --delimiterForDSV=$'#' -e "$tj_sql"  > ./test_3.txt

展示结果如下文章来源地址https://www.toymoban.com/news/detail-469793.html

area_code#acc_nbr#serv_id#prod_id#time_tag#model_type#rule_result
777#18028137123#120000485555514#3102#2023010914#507#10001

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

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

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

相关文章

  • hive中的datagrip和beeline客户端的权限问题

    使用ranger和kerberos配置了hadoop和hive,今天想用来测试其权限 测试xwq用户: 1.首先添加xwq用户权限,命令如下: 2.进行认证 3.连接beeline客户端 4.执行插入语句 任务执行失败,后面观察了yarn界面,发现是向yarn成功提交了job,job也经历 了accept到running的过程,但是最后执行失败了

    2024年02月11日
    浏览(50)
  • 【Hadoop】-Hive客户端:HiveServer2 & Beeline 与DataGrip & DBeaver[14]

    在启动Hive的时候,除了必备的Metastore服务外,我们前面提过有2种方式使用Hive: 方式1: bin/hive 即Hive的Shell客户端,可以直接写SQL 方式2: bin/hive --service hiveserver2 后台执行脚本: nohup bin/hive --service hiveserver2 logs/hiveserver2.log 21 bin/hive --service metastore ,启动的是元数据管理服务

    2024年04月28日
    浏览(50)
  • EasyExcel导出Excel设置单元格文本格式(亲测有效)

    EasyExcel的maven依赖, 注意版本问题, 我的是3.0+的版本 下面是一开始的代码, 是不生效的, 查了好多都是这么设置的, 我也是这么写的但是就是不生效, 然后查了资料好多也说是注册写处理器必须是一个, 不能是多个, 因为我的是注册两个写处理器, 然后我就去掉了一个处理, 但是

    2024年02月16日
    浏览(50)
  • 在 spark-sql / spark-shell / hive / beeline 中粘贴 sql、程序脚本时的常见错误

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

    2024年02月14日
    浏览(36)
  • 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日
    浏览(55)
  • java-EasyExcel导出excel设置单元格为文本格式(含代码)

    java-EasyExcel导出excel设置单元格为文本格式(含代码) 在使用EasyExcel导出excel模板时。我们会发现导出的日期和大长度数字都会自动更换格式,不是文本格式。并且在空白单元格输入日期也是格式有问题的,如下所示,可以看到当输入相同的日期时,格式会变成自适应,不是文

    2023年04月15日
    浏览(48)
  • 数仓报表数据导出——Hive数据导出至Clickhouse

    创建database 创建table 使用 spark-sql 查询数据,然后通过 jdbc 写入Clickhouse。 创建Maven项目,pom.xml文件如下 创建HiveToClickhouse类 上传hive.xml,hdfs.xml 以及core-site.xml文件到项目的resource目录下 打包,并上传hive-to-clickhouse-1.0-SNAPSHOT-jar-with-dependencies.jar到hadoop节点 执行如下命令测试 为

    2024年02月16日
    浏览(43)
  • Hive数据库系列--Hive文件格式/Hive存储格式/Hive压缩格式

    本篇主要讲解一下Hive的文件格式,官方文档见《 https://cwiki.apache.org/confluence/display/Hive/FileFormats》、《 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-StorageFormatsStorageFormatsRowFormat,StorageFormat,andSerDe》 HIve的文件存储格式常见的有四种:textfile 、sequencefile、or

    2024年01月22日
    浏览(41)
  • hive数据的导入导出

    Linux本地文件以及数据格式: 在hive中创建表: stored as常见的几种格式 1. TextFile:使用TextFile格式存储的表将数据以文本文件的形式进行存储。这是最常用的默认存储格式。 2. SequenceFile:使用SequenceFile格式存储的表将数据以键-值对的形式存储,适用于数据压缩和高效读取。

    2024年02月12日
    浏览(42)
  • Hive数据导出

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 书接上回,传闻昔日数据导入有五大派别,一时之间数码武林局势动荡,可怜的码农处于水深火热之中。乱世出英雄,打着劫富济贫,替天行道大旗的六大

    2023年04月19日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包