我是配置单元新手,正在尝试将配置单元查询导出到计算机上的本地文件,以便将结果导入excel。
当我从蜂巢里做的时候;
配置单元-e从表限制中选择*10'
I get“失败:ParseException行1:0无法识别“配置单元”-“e”附近的输入”
当我这么做的时候
配置单元-S-e“使用数据库;从表限制10中选择*”
来自shell或
插入覆盖本地目录“/tmp/hello”从表limit 10中选择*;
它将进入Hive中的hdfs系统--如何将其连接到本地计算机?
当您在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
您可以将查询导出到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中的),而不会扰乱类路径和系统属性?