我是hadoop的新手.我知道HCatalog是Hadoop的表和存储管理层.但它究竟是如何工作以及如何使用它.请举一些简单的例子.
我在查询 ORC 文件格式表时遇到问题
我正在尝试以下查询:
INSERT INTO TABLE <db_name>.<table_name> SELECT FROM <db_name>.<table_name> WHERE CONDITIONS;
Run Code Online (Sandbox Code Playgroud)
这导致:
TaskAttempt 2 failed, info=[Error: Failure while running task:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveExceptio
Hive Runtime Error while processing row
at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:186)
at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:138)
at org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:324)
at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:176)
at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.call(TezTaskRunner.java:168)
at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.call(TezTaskRunner.java:163)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
used by: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row
at org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:91)
at org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.pushRecord(MapRecordSource.java:68)
at org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.run(MapRecordProcessor.java:294)
at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:163)
... 13 more …Run Code Online (Sandbox Code Playgroud) 我是HBase的新手.目前我正在使用hortonworks沙箱hdp2.在研究Hbase时,我遇到了一些问题.
hbase在哪里存储数据?
如果它存储在HDFS上,那么它如何执行更新操作,因为hdfs 写入一次并多次读取
我输入了 String '~|~' 作为分隔符。
例如:String s = "1~|~Vijay~|~25~|~Pune"; 当我在 Java 中用 '~\\|~' 拆分它时,它工作正常。
String sa[] = s.split("~\\|~", -1);
for(String str : sa) {
System.out.println(str);
}
Run Code Online (Sandbox Code Playgroud)
我得到以下输出。
1
Vijay
25
Pune
Run Code Online (Sandbox Code Playgroud)
当我通过传递命令行参数('~\\|~')运行同一个程序时。它没有正确解析字符串并在输出下方给出它。
1
|
Vijay
|
25
|
Pune
Run Code Online (Sandbox Code Playgroud)
有没有其他人面临同样的问题?请对此问题发表评论。