我正在尝试在 Hive 中创建一个外部表,如 Datastax Enterprise 3.1 的第 88 页所示。文档。
该语句与错误消息一起在下面进一步说明。
我究竟做错了什么?
问候汉斯-彼得
hive> create external table testext (m string, n string, o string, p string)
> STORED BY 'org.apache.hadoop.hive.cassandra.cql3.CqlStorageHandler'
> TBLPROPERTIES ( "cassandra.ks.name" = "cql3ks",
> "cassandra.cf.name" = "test",
> "cassandra.cql3.type" = "text, text, text, text");
FAILED: Error in metadata:
com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException:
There was a problem with the Cassandra Hive MetaStore: Problem finding unmapped
keyspaces
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
2013-10-15 12:47:36,657 WARN conf.HiveConf (HiveConf.java:(63)) - 已弃用:忽略在 /etc/dse/hive/hive-default.xml 的 CLASSPATH 中找到的 hive-default.xml 2013-10-15 12:48:41,003 WARN config.DatabaseDescriptor (DatabaseDescriptor.java:loadYaml(253)) - 请在 cassandra.yaml 中将 'authority' 重命名为 'authorizer' 2013-10-15 12:48:42,988 错误 exec.Task (SessionState.java:printError(400)) - 失败:元数据错误:com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException:有问题Cassandra Hive MetaStore:查找未映射键空间的问题 org.apache.hadoop.hive.ql.metadata.HiveException:com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException:Cassandra Hive MetaStore 出现问题:查找未映射的键空间时出现问题 在 org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:544) 在 org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:3305) 在 org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:242) 在 org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:134) 在 org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57) 在 org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1326) 在 org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1118) 在 org.apache.hadoop.hive.ql.Driver.run(Driver.java:951) 在 org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:258) 在 org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:215) 在 org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:406) 在 org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:689) 在 org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:557) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:156) 原因:com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException:Cassandra Hive MetaStore 出现问题:查找未映射的键空间时出现问题 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.createKeyspaceSchemasIfNeeded(SchemaManagerService.java:230) 在 com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStore.setConf(CassandraHiveMetaStore.java:112) 在 org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 在 org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) 在 org.apache.hadoop.hive.metastore.RetryingRawStore.(RetryingRawStore.java:62) 在 org.apache.hadoop.hive.metastore.RetryingRawStore.getProxy(RetryingRawStore.java:71) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.newRawStore(HiveMetaStore.java:346) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:333) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:371) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:278) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.(HiveMetaStore.java:248) 在 org.apache.hadoop.hive.metastore.HiveMetaStoreClient.(HiveMetaStoreClient.java:114) 在 org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2092) 在 org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2102) 在 org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:538) ... 17 更多 原因:com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException:Cassandra Hive MetaStore 出现问题:检索键空间演示的列族时出现问题 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.createUnmappedTables(SchemaManagerService.java:277) 在 com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStore.getDatabase(CassandraHiveMetaStore.java:148) 在 com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStore.getDatabase(CassandraHiveMetaStore.java:136) 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.isKeyspaceMapped(SchemaManagerService.java:186) 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.finUnmappedKeyspaces(SchemaManagerService.java:137) 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.createKeyspaceSchemasIfNeeded(SchemaManagerService.java:224) ... 31 更多 原因:com.datastax.bdp.hadoop.hive.metastore.CassandraHiveMetaStoreException:Cassandra Hive MetaStore 出现问题:创建列映射时出现问题 sorg.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db. marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type) 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.buildTable(SchemaManagerService.java:481) 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.createUnmappedTables(SchemaManagerService.java:254) ... 36 更多 引起:java.lang.IllegalArgumentException 在 java.nio.Buffer.limit(Buffer.java:247) 在 org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:51) 在 org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:60) 在 org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:226) 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.addTypeToStorageDescriptor(SchemaManagerService.java:846) 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.buildColumnMappings(SchemaManagerService.java:546) 在 com.datastax.bdp.hadoop.hive.metastore.SchemaManagerService.buildTable(SchemaManagerService.java:460) ... 37 更多 2013-10-15 12:48:42,990 错误 ql.Driver (SessionState.java:printError(400)) - 失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1