首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从配置单元连接到MySQL

问从配置单元连接到MySQL
EN

Stack Overflow用户
提问于 2015-08-17 18:43:15
回答 2查看 1.9K关注 0票数 4

我想将我的MySQL数据库连接到配置单元,这样我就可以通过配置单元从MySQL服务器访问表。我在网上搜索过,只找到了将MySQL设置为Hive的转储数据库的解决方案。但是,没有找到任何方法来解决我的问题。有没有人能帮我设置一下?除了MySQL而不是MongoDB,我期待的是像this这样的东西。

EN

回答 2

Stack Overflow用户

发布于 2015-08-17 19:03:48

您可以使用两种方法来实现这一点。一种方法是使用sqoop将mysql表导入到hdfs和配置单元。可以通过sqoop直接导入配置单元。这将在hadoop中创建与mysql对应的hive表。将表导入配置单元后,新表将单独作为配置单元表工作。

另一种方法是使用serde访问mysql表。我在github里找到了一个hive-mysql serde。我还没有测试过这个serde。如果你擅长java,你可以写你自己的serde。

您上面提到的示例使用的是hive-mongodb SerDe。

票数 0
EN

Stack Overflow用户

发布于 2019-11-01 17:58:02

Hive 2.3.0+提供了使用JdbcStorageHandler从MySQL/Postgres/等定义外部表的能力:

代码语言:javascript
复制
CREATE EXTERNAL TABLE student_jdbc
(
  name string,
  age int,
  gpa double
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
TBLPROPERTIES (
    "hive.sql.database.type" = "MYSQL",
    "hive.sql.jdbc.driver" = "com.mysql.jdbc.Driver",
    "hive.sql.jdbc.url" = "jdbc:mysql://localhost/sample",
    "hive.sql.dbcp.username" = "hive",
    "hive.sql.dbcp.password" = "hive",
    "hive.sql.table" = "STUDENT"
    "hive.sql.dbcp.maxActive" = "1"
);

此外,您还可以使用hive.sql.query参数代替hive.sql.table来定义更具体的查询,如下所示:

代码语言:javascript
复制
    "hive.sql.query" = "SELECT name, age, gpa FROM STUDENT"

另请参阅Cloudera docs。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32048379

复制
相关文章

相似问题

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