Я пытаюсь создать источник данных Druid из Hive и использую для него таблицу 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
, поэтому я не понимаю, в чем проблема. Я пробовал некоторые предложения, которые я прочитал на другие темы, но я не нашел решения. У кого-то есть предложения?
Спасибо за помощь!