[ https://issues.apache.org/jira/browse/KYLIN-4043?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17192085#comment-17192085 ]
han commented on KYLIN-4043: ---------------------------- 谢谢张大哥 > build cube on step 3,ORA-00904: "B0"."CATALOG_NAME": 标识符⽆无效 > ----------------------------------------------------------- > > Key: KYLIN-4043 > URL: https://issues.apache.org/jira/browse/KYLIN-4043 > Project: Kylin > Issue Type: Bug > Components: Environment , Metadata > Affects Versions: v2.6.2 > Environment: operating system:Centos7(four real computer machines) > Hadoop : 3.1.1(four nodes) > Hive : 3.1.0 > HBase : 2.0.5(four nodes) > Kylin : apache-kylin-2.6.2-bin-hadoop3(one node) > Reporter: fap...@163.com > Priority: Major > Attachments: errlog.PNG, step_errors.PNG > > > h2. My hive's metastore on oracle 11g,hive jdbc config is : > {panel:title=hive jdbc config} > <property> > <name>hive.metastore.db.type</name> > <value>ORACLE</value> > <description> > Expects one of [derby, oracle, mysql, mssql, postgres]. > Type of database used by the metastore. Information schema & > JDBCStorageHandler depend on it. > </description> > </property> > <property> > <name>javax.jdo.option.ConnectionURL</name> > <value>jdbc:oracle:thin:@192.168.0.2:1521/xxx</value> > <description>JDBC connect string for a JDBC > metastore</description> > </property> > <property> > <name>javax.jdo.option.ConnectionDriverName</name> > <value>oracle.jdbc.OracleDriver</value> > <description>Driver class name for a JDBC > metastore</description> > </property> > <property> > <name>javax.jdo.option.ConnectionUserName</name> > <value>bus_info</value> > <description>username to use against metastore > database</description> > </property> > <property> > <name>javax.jdo.option.ConnectionPassword</name> > <value>here is my passowrd</value> > <description>password to use against metastore > database</description> > </property> > <property> > <name>hive.metastore.warehouse.dir</name> > <value>/user/hive/warehouse</value> > <description>location of default database for the warehouse</description> > </property> > {panel} > h2. *when building cube on setp 3 , throws a exception is below:* > {panel:title=exception} > java.lang.RuntimeException: java.io.IOException: > MetaException(message:Exception thrown when executing query : SELECT DISTINCT > 'org.apache.hadoop.hive.metastore.model.MTable' AS > NUCLEUS_TYPE,A0.CREATE_TIME,A0.LAST_ACCESS_TIME,A0.OWNER,A0.OWNER_TYPE,A0.RETENTION,A0.REWRITE_ENABLED,A0.TBL_NAME,A0.TBL_TYPE,A0.TBL_ID > FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON A0.DB_ID = B0.DB_ID WHERE A0.TBL_NAME > = ? AND B0."NAME" = ? AND B0."CATALOG_NAME" = ?) > at > org.apache.kylin.source.hive.HiveMRInput$HiveTableInputFormat.configureJob(HiveMRInput.java:83) > at > org.apache.kylin.engine.mr.steps.FactDistinctColumnsJob.setupMapper(FactDistinctColumnsJob.java:126) > at > org.apache.kylin.engine.mr.steps.FactDistinctColumnsJob.run(FactDistinctColumnsJob.java:104) > at > org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork(MapReduceExecutable.java:131) > at > org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:167) > at > org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:71) > at > org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:167) > at > org.apache.kylin.job.impl.threadpool.DistributedScheduler$JobRunner.run(DistributedScheduler.java:110) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.io.IOException: MetaException(message:Exception thrown when > executing query : SELECT DISTINCT > 'org.apache.hadoop.hive.metastore.model.MTable' AS > NUCLEUS_TYPE,A0.CREATE_TIME,A0.LAST_ACCESS_TIME,A0.OWNER,A0.OWNER_TYPE,A0.RETENTION,A0.REWRITE_ENABLED,A0.TBL_NAME,A0.TBL_TYPE,A0.TBL_ID > FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON A0.DB_ID = B0.DB_ID WHERE A0.TBL_NAME > = ? AND B0."NAME" = ? AND B0."CATALOG_NAME" = ?) > 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.source.hive.HiveMRInput$HiveTableInputFormat.configureJob(HiveMRInput.java:80) > ... 10 more > Caused by: MetaException(message:Exception thrown when executing query : > SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.MTable' AS > NUCLEUS_TYPE,A0.CREATE_TIME,A0.LAST_ACCESS_TIME,A0.OWNER,A0.OWNER_TYPE,A0.RETENTION,A0.REWRITE_ENABLED,A0.TBL_NAME,A0.TBL_TYPE,A0.TBL_ID > FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON A0.DB_ID = B0.DB_ID WHERE A0.TBL_NAME > = ? AND B0."NAME" = ? AND B0."CATALOG_NAME" = ?) > at > org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:208) > at > org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108) > at com.sun.proxy.$Proxy70.get_table_req(Unknown Source) > at > org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:1578) > at > org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:1570) > 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.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:208) > at com.sun.proxy.$Proxy71.getTable(Unknown Source) > 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:88) > at > org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:95) > ... 12 more > Caused by: javax.jdo.JDOException: Exception thrown when executing query : > SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.MTable' AS > NUCLEUS_TYPE,A0.CREATE_TIME,A0.LAST_ACCESS_TIME,A0.OWNER,A0.OWNER_TYPE,A0.RETENTION,A0.REWRITE_ENABLED,A0.TBL_NAME,A0.TBL_TYPE,A0.TBL_ID > FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON A0.DB_ID = B0.DB_ID WHERE A0.TBL_NAME > = ? AND B0."NAME" = ? AND B0."CATALOG_NAME" = ? > NestedThrowables: > java.sql.SQLSyntaxErrorException: ORA-00904: "B0"."CATALOG_NAME": 标识符无效 > at > org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:677) > at org.datanucleus.api.jdo.JDOQuery.executeInternal(JDOQuery.java:391) > at org.datanucleus.api.jdo.JDOQuery.execute(JDOQuery.java:255) > at > org.apache.hadoop.hive.metastore.ObjectStore.getMTable(ObjectStore.java:1863) > at > org.apache.hadoop.hive.metastore.ObjectStore.getMTable(ObjectStore.java:1899) > at > org.apache.hadoop.hive.metastore.ObjectStore.getTable(ObjectStore.java:1507) > 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.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:97) > at com.sun.proxy.$Proxy68.getTable(Unknown Source) > at > org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table_core(HiveMetaStore.java:2946) > at > org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getTableInternal(HiveMetaStore.java:2907) > at > org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table_req(HiveMetaStore.java:2892) > 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.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147) > ... 26 more > Caused by: java.sql.SQLSyntaxErrorException: ORA-00904: "B0"."CATALOG_NAME": > 标识符无效 > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395) > at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802) > at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436) > at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186) > at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521) > at > oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:205) > at > oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:861) > at > oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1145) > at > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1267) > at > oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449) > at > oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3493) > at > oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) > at > com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) > at > com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) > at > org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeQuery(ParamLoggingPreparedStatement.java:375) > at > org.datanucleus.store.rdbms.SQLController.executeStatementQuery(SQLController.java:552) > at > org.datanucleus.store.rdbms.query.JDOQLQuery.performExecute(JDOQLQuery.java:617) > at org.datanucleus.store.query.Query.executeQuery(Query.java:1855) > at org.datanucleus.store.query.Query.executeWithArray(Query.java:1744) > at org.datanucleus.api.jdo.JDOQuery.executeInternal(JDOQuery.java:368) > ... 44 more > {panel} > h3. I lookup The Hive's MetaTable('DBS' and 'TBLS' ) on Oracle,can not found > the column name called 'CATALOG_NAME' in Table 'DBS' . Then I lookup the > Hive's init sql files,also not found any files include 'CATALOG_NAME' . > The Table 'DBS' struct is below: > {panel:title=Table DBS} > DB_ID NUMBER NOT NULL, > "DESC" VARCHAR2(4000) NULL, > DB_LOCATION_URI VARCHAR2(4000) NOT NULL, > "NAME" VARCHAR2(128) NULL, > OWNER_NAME VARCHAR2(128) NULL, > OWNER_TYPE VARCHAR2(10) NULL, > CTLG_NAME VARCHAR2(256) > {panel} > The Table 'TBLS' struct is below: -- This message was sent by Atlassian Jira (v8.3.4#803005)