首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark Sql JDBC支持

Spark Sql JDBC支持
EN

Stack Overflow用户
提问于 2014-07-08 20:25:42
回答 6查看 9.5K关注 0票数 7

目前,我们正在构建一个报告平台,作为我们使用Shark的数据存储。由于Shark的开发已经停止,所以我们正处于评估Spark SQL的阶段。基于我们已有的用例,我们有一些问题。

1)我们有来自不同来源( MySQL、甲骨文、卡桑德拉、蒙戈)的数据。我们想知道如何将这些数据放入Spark SQL中?有没有我们可以使用的实用程序?此实用程序是否支持连续刷新数据(将数据存储上的新添加/更新/删除同步到Spark SQL?

2)在Spark SQL中创建多个数据库是一种方法吗?

3)对于报告UI,我们使用Jasper,我们希望从Jasper连接到Spark SQL。当我们进行最初的搜索时,我们了解到目前还不支持消费者通过JDBC连接Spark SQL,但在未来的版本中,您会希望添加相同的功能。我们想知道Spark SQL什么时候会有一个支持JDBC的稳定版本?同时,我们从https://github.com/amplab/shark/tree/sparkSql获取了源代码,但在本地设置和评估它时遇到了一些困难。如果你能帮助我们安装说明,那就太好了。(我可以分享我们面临的问题,请让我知道我可以在哪里发布错误日志)

4)我们还需要一个SQL提示符,我们可以在其中执行查询,目前Spark Shell提供了SCALA提示符,可以在SCALA代码中执行SCALA代码,我们可以从SCALA代码中触发SQL查询。像Shark一样,我们希望在Spark SQL中有SQL提示。当我们做我们的搜索时,我们发现在未来的Spark版本中会添加这个。如果你能告诉我们Spark的哪个版本可以解决同样的问题,那就太好了。

EN

回答 6

Stack Overflow用户

发布于 2014-10-31 05:06:27

至于

3) Spark1.1对JDBC接口提供了更好的支持,您可能希望将其用于SparkSQL ThriftServer接口。支持v0.12.0的配置单元JDBC客户端能够连接到这样的服务器并与之连接。

4) Spark 1.1还提供了一个可用于输入查询的SparkSQL命令行界面。使用与Hive CLI或Impala Shell相同的方式。

请提供更多有关您尝试实现1和2目标的详细信息。

票数 2
EN

Stack Overflow用户

发布于 2014-07-31 05:17:56

我可以回答(1):

Apache Sqoop就是专门为关系数据库解决这个问题的。该工具是为HDFS、HBase和Hive制作的--因此,它可以用于通过HDFS和hive元存储向Spark提供数据。

http://sqoop.apache.org/

我相信SparkContext可以通过这个来自DataStax:https://github.com/datastax/spark-cassandra-connector的连接器使用Cassandra --我从未使用过这个连接器。

我不知道有什么用于MongoDB的连接器。

票数 1
EN

Stack Overflow用户

发布于 2015-02-14 05:37:18

1)我们有来自各种来源的数据( MySQL、甲骨文、卡桑德拉、蒙戈)

您必须为每种情况使用不同的驱动程序。对于cassandra,有datastax driver (但我遇到了一些与SparkSQL的兼容性问题)。对于任何SQL系统,您都可以使用JdbcRDD。用法很简单,看看the scala example

代码语言:javascript
复制
test("basic functionality") {
    sc = new SparkContext("local", "test")
    val rdd = new JdbcRDD(
      sc,
      () => { DriverManager.getConnection("jdbc:derby:target/JdbcRDDSuiteDb") },
      "SELECT DATA FROM FOO WHERE ? <= ID AND ID <= ?",
      1, 100, 3,
      (r: ResultSet) => { r.getInt(1) } ).cache()

    assert(rdd.count === 100)
    assert(rdd.reduce(_+_) === 10100)
  }

但是它只是一个RDD,所以你应该通过map-reduce api来处理这些数据,而不是在SQLContext中。

有没有我们可以使用的实用程序?

有Apache Sqoop项目,但它处于活动开发状态。当前稳定的版本甚至不能将文件保存为parquet格式。

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

https://stackoverflow.com/questions/24631833

复制
相关文章

相似问题

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