当前位置: 首页 > 知识库问答 >
问题:

如何以csv2格式从beeline hive下载数据?

金承嗣
2023-03-14

我有问题从蜂巢下载数据通过直线。

我想下载一个表到文件与csv作为字段分隔符。如果列值有逗号,那么该值需要用引号括起来。

我知道beeline为这个用例提供了outputformat csv2。

    0: jdbc:hive2://ip:10000/default> DESC samp_ret;
+-------------+------------+----------+--+
|  col_name   | data_type  | comment  |
+-------------+------------+----------+--+
| intvar      | int        |          |
| stringvar1  | string     |          |
| stringvar2  | string     |          |
+-------------+------------+----------+--+
3 rows selected (0.081 seconds)
0: jdbc:hive2://ip:10000/default>  SELECT * FROM samp_ret ;
+------------------+----------------------+----------------------+--+
| samp_ret.intvar  | samp_ret.stringvar1  | samp_ret.stringvar2  |
+------------------+----------------------+----------------------+--+
| 1                | one,ONE              | One                  |
| 2                | 2                    | Two                  |
| 3                |                      | Three                |
| 4                | four,FOUR            |                      |
| 5                | five'FIVE            | Five                 |
| 6                | six',SIX             | Six                  |
+------------------+----------------------+----------------------+--+
6 rows selected (0.164 seconds)
beeline -u jdbc:hive2://ip:10000/default?zeroDateTimeBehavior=round -n yumecorp yumehive org.apache.hive.jdbc.HiveDriver --showHeader=false --outputformat=csv2 --silent -e "SELECT * FROM dev.samp_ret " > /tmp/samp_ret.out

如果我漏了什么就告诉我。

共有1个答案

容柏
2023-03-14

在执行beeline命令之前,在shell中导出以下属性

bash$ export HADOOP_CLIENT_OPTS="-Ddisable.quoting.for.sv=false"

然后执行beeline export命令

beeline -u jdbc:hive2://ip:10000/default?zeroDateTimeBehavior=round -n yumecorp yumehive org.apache.hive.jdbc.HiveDriver --showHeader=false --outputformat=csv2 --silent -e "SELECT * FROM dev.samp_ret " > /tmp/samp_ret.out

示例:

我在一个表中有2个字符串列

hive> select * from i;
+-------+---------+--+
| i.id  | i.name  |
+-------+---------+--+
| 1     | kl,kl   |
| 2     | ll,mm   |
+-------+---------+--+
bash$ export HADOOP_CLIENT_OPTS="-Ddisable.quoting.for.sv=false"
bash$ beeline --showHeader=false --outputformat=csv2 --silent -e "SELECT * FROM default.i" > samp_ret.out
bash$ cat samp_ret.out 
1,"kl,kl"
2,"ll,mm"

有关更多详细信息,请参阅此配置单元Jira。

 类似资料:
  • 本文向大家介绍使用javascript实现json数据以csv格式下载,包括了使用javascript实现json数据以csv格式下载的使用技巧和注意事项,需要的朋友参考一下 摘要:   最近有一个非项目的小需求,就是将项目开发分工文件化,方便后期管理维护。但是开发时,分工安排都是以json格式记录的,所以就做了一个将json数据以csv格式下载到本地。 代码: download.js 小结:  

  • 问题内容: 我需要从网站下载图像,并且具有登录名和密码,但是如果我仅使用URL下载图像,它将抛出异常:会话中没有任何值。 我想我需要登录该网站,然后才能以编程方式下载该图像。 你有什么解决办法 ?提前致谢 ! 问题答案: 我想提到HtmlUnit。这是一个无头浏览器,带有Java脚本。

  • 问题内容: 如何在html页面中加载DOM?首先是加载所有html标签(),然后在此元素的内部创建另一个元素,依此类推,或者首先是创建,然后是…,最后添加结束标签? 谢谢! 问题答案: 或多或少。HTML 5.2规范具有解析算法 。

  • 问题内容: 我有这种格式的json数组: 现在,我想解析并以表格格式在Javascript或jQuery中显示它。该表有四列,每一列指示此数组中每个元素的每个属性。该表的第一行是这四个键的名称。其他行是这些键的值。 我不知道如何编写JavaScript代码来实现此功能。你能帮我吗? 问题答案: 演示

  • 问题内容: 我希望能够获取网页的html并将其保存到,因此可以对其进行一些处理。另外,我该如何处理各种类型的压缩。 我将如何使用Java做到这一点? 问题答案: 这是一些使用Java的URL类的经过测试的代码。我建议比在这里处理异常或将异常传递到调用堆栈方面做得更好。

  • 我有一个API,它以所附图像中显示的格式为我提供响应。我曾尝试通过inputstreamresponse读取它,但这经常会给我带来损坏的文件错误。 所以计划通过json进行尝试。将下面的响应转换为json格式,然后从该响应中读取值。不知道如何采取初步措施。