【发布时间】:2019-10-14 12:28:57
【问题描述】:
我正在尝试从 Hive 创建一个 Druid 数据源,并且我正在使用表 Hive。
首先,我创建了一个数据库 Hive:database_hive,然后,我在这个数据库中创建了一个表。
CREATE TABLE database_hive.hive_table (
timemachine int,
userId String,
lang String,
location String,
name String,
network String,
posted String,
sentiment String,
text String,
);
第二次,我尝试使用hive_table 在 Druid 上创建一个新的数据源。
SET hive.druid.broker.address.default = 10.1.123.30:8082; --fake ip for example
SET hive.druid.metadata.username = druid;
SET hive.druid.metadata.password = druidpassword;
SET hive.druid.metadata.db.type = derby;
SET hive.druid.metadata.uri = jdbc:mysql://10.1.123.30:3306/druid?createDatabaseIfNoExist=true;
CREATE TABLE druid_table
STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler'
TBLPROPERTIES (
"druid.segment.granularity" = "MONTH",
"druid.query.granularity" = "DAY")
AS
SELECT
cast(timemachine as timestamp) as `__time`,
cast(userId as string) userId,
cast(lang as string) lang,
cast(location as string) location,
cast(name as string) name,
cast(network as string) network,
cast(posted as string) posted,
cast(sentiment as string) sentiment,
cast(text as string) text
FROM hive_table
;
这个查询返回一个错误:
Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.skife.jdbi.v2.exceptions.UnableToObtainConnectionException: java.sql.SQLException: Cannot create JDBC driver of class 'org.apache.derby.jdbc.ClientDriver' for connect URL 'jdbc:mysql://10.1.123.30:3306/druid?createDatabaseIfNoExist=true' (state=08S01,code=1)
在我的 Hive 存储库中,我有 mysql-connector-java.jar,所以我不明白有什么问题。我尝试了一些关于其他主题的建议,但没有找到解决方案。
有人有建议吗?
感谢您的帮助!
【问题讨论】:
标签: hadoop hive hortonworks-data-platform druid