2015-12-03 55 views
-2

我们在MS SQL Server中有我们的数据,而不是使用直接JDBC连接到数据库,我们希望能够将数据推送到我们自己的方法中。简而言之,我们不想使用现有的数据源API编写我们自己的,任何人都可以推荐一些我们可以参考和构建的参考项目。编写你自己的火花数据源。

这是一个相当简单的任务,或者我们想到的非常复杂的方法,随时发表评论。

回答

1

此功能由星火提供开箱即用:

val jdbcDF = sqlContext.read.format("jdbc").options( 
    Map("url" -> "jdbc:postgresql:dbserver", 
    "dbtable" -> "schema.tablename")).load() 

更多细节

+0

也许我没有正确帧我的问题见http://spark.apache.org/docs/latest/sql-programming-guide.html#jdbc-to-other-databases。 我不想直接连接到SQL数据库,而是要编写填充数据框的特定代码。所以无论何时调用到我的应用程序,我都可以从SQL中检索数据,然后执行一些特定领域的计算,然后将其返回给Spark(数据框/ RDD)。然后由最终用户通过在数据框上运行查询来使用它。 –

+0

Spark中的DataFrame不包含任何数据。它只是在现有数据源(如JDBC,HDFS上的文件等)上提供视图。您可以得到最接近的是创建一个JDBC DataFrame,然后将其保存在Spark执行程序内存中:http://spark.apache.org/docs/latest/sql-programming-guide.html#caching-data-in-memory – kostya