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

如何定位/导出配置单元查询?

纪畅
2023-03-14

我是配置单元新手,正在尝试将配置单元查询导出到计算机上的本地文件,以便将结果导入excel。

当我从蜂巢里做的时候;

配置单元-e从表限制中选择*10'

I get“失败:ParseException行1:0无法识别“配置单元”-“e”附近的输入”

当我这么做的时候

配置单元-S-e“使用数据库;从表限制10中选择*”

来自shell或

插入覆盖本地目录“/tmp/hello”从表limit 10中选择*;

它将进入Hive中的hdfs系统--如何将其连接到本地计算机?

共有2个答案

徐瀚
2023-03-14

当您在hive repl中运行hive-e命令时,您会看到错误,如下所示

hive (venkat)> hive -e 'select * from a';
NoViableAltException(26@[])
        at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1084)
        at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:202)
        at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:437)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:320)
        at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1219)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1260)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1156)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1146)
        at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:216)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:168)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:379)
        at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:739)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:684)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:624)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:233)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:148)
FAILED: ParseException line 1:0 cannot recognize input near 'hive' '-' 'e'

你必须在OS shell中这样做,如下所示

[venkata_udamala@gw02 ~]$ hive -e 'use database_name;select * from table_name;' > temp.txt
空英逸
2023-03-14

您可以将查询导出到CSV文件,如:

hive -e 'select * from your_Table' > /home/yourfile.csv

要将此文件发送到本地计算机,应使用HDFS:

HDFS DFS -get /tmp/hello /PATHinLocalMachine

看看这个问题

 类似资料:
  • 当我运行以下配置单元命令时 hive-e‘选择msg,将(*)从表中计数为cnt,其中像“%abcd%”这样的msg按msg排序按cnt desc;’sed的/[\t]/,/g'>table.csv 失败:ParseException第1:89行无法识别表达式规范中“like”“%”“password”附近的输入 我知道在指定字符串“%abcd%”时有问题。该命令在配置单元环境中工作正常,但这里我

  • 我无法使用直线接口将数据从配置单元表提取到文件。与配置单元接口一起工作的东西在beeline上不工作。感谢任何帮助。

  • 此时,我已使用以下命令成功连接到数据库。查询在控制台上输出正确的结果。 另外,不是很清楚文件的最终位置。应该是hdfs中的文件路径正确吗?

  • 请告诉我如何在udf中使用hive conf变量,以及如何在hive udf中访问hive配置?

  • 问题内容: 有什么方法可以手动指定Log4J 2.x 文件位置(例如在Log4J 1.x中),而又不会弄乱类路径和系统属性? 问题答案: 您可以在中使用static方法(请参见此处的源代码)。(您可以为类加载器传递null。) 请注意,此类不是公共API的一部分,因此 您的代码可能会随任何次要发行版而中断 。 为了完整起见,您还可以使用以下系统属性指定配置文件的位置:

  • 有没有办法手动指定Log4J 2. x文件位置(如Log4J 1. x中的),而不会扰乱类路径和系统属性?