首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache :找不到中间表

Apache :找不到中间表
EN

Stack Overflow用户
提问于 2016-01-29 01:18:05
回答 1查看 1.3K关注 0票数 0

我是kylin的新手。安装之后,我运行sample.sh,然后构建多维数据集,但是得到了错误的消息:

代码语言:javascript
复制
java.io.IOException: NoSuchObjectException(message:default.kylin_intermediate_kylin_sales_cube_desc_19700101000000_20160101000000_38b1539f_1f69_406d_89ed_96f3ca776841 table not found)
     at org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:97)
     at org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:51)
     at org.apache.kylin.job.hadoop.cube.FactDistinctColumnsJob.setupMapper(FactDistinctColumnsJob.java:101)
     at org.apache.kylin.job.hadoop.cube.FactDistinctColumnsJob.run(FactDistinctColumnsJob.java:77)
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
     at org.apache.kylin.job.common.MapReduceExecutable.doWork(MapReduceExecutable.java:120)
     at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
     at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:51)
     at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
     at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:130)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
     at java.lang.Thread.run(Thread.java:745)
Caused by: NoSuchObjectException(message:default.kylin_intermediate_kylin_sales_cube_desc_19700101000000_20160101000000_38b1539f_1f69_406d_89ed_96f3ca776841 table not found)
     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:1569)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:606)
     at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:106)
     at com.sun.proxy.$Proxy49.get_table(Unknown Source)
     at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:1008)
     at org.apache.hive.hcatalog.common.HCatUtil.getTable(HCatUtil.java:191)
     at org.apache.hive.hcatalog.mapreduce.InitializeInput.getInputJobInfo(InitializeInput.java:105)
     at org.apache.hive.hcatalog.mapreduce.InitializeInput.setInput(InitializeInput.java:86)
     at org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:95)
     ... 13 more

`

第975期建议kylin.job.hive.database.for.intermediatetable = default。在此之后,我还会得到这个错误消息。

当我在hive中运行desc formatted kylin_intermediate_kylin_sales_cube_desc_1970...命令时,我可以获得它的格式化信息。它显示了该表存在于Hive中。为什么Kylin不能从蜂巢装载这张桌子?

代码语言:javascript
复制
Kylin version = 1.2
Hive version = 0.13.1-cdh5.3.2
Hbase version = 0.98.6+cdh5.3.2
Hadoop version = 2.5.0-cdh5.3.2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-30 02:54:02

我已经解决了这个问题。原因是hive.metastore.uris属性没有在hive-site.xml中设置。Kylin使用HCatalog读取Hive表。HCatalog将使用hive.metastore.uris属性创建HiveMetaStoreClient并获取表元。这个页面有详细的解释。

代码语言:javascript
复制
<property>
  <name>hive.metastore.uris</name>
  <value>thrift://localhost:9083</value>
  <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>

使用命令启动亚稳态:

代码语言:javascript
复制
nohup hive --service metastore -p 9083 &
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35075276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档