将sql server数据访问SparkCLR

时间:2015-12-28 13:32:22

标签: c# sql-server apache-spark apache-spark-sql mobius

如何从SparkCLR中的SQL Server中获取数据?

2 个答案:

答案 0 :(得分:2)

您可以使用以下SparkCLR代码作为参考,使用C#从SQL Server,Azure SQL数据库或任何其他符合JDBC的数据源中的数据加载Spark DataFrame。

        //C# sample to load SQL Server data as Spark DataFrame using JDBC
        var sparkConf = new SparkConf();
        var sparkContext = new SparkContext(sparkConf);
        var sqlContext = new SqlContext(sparkContext);
        var dataFrame = sqlContext.Read()
            .Jdbc("jdbc:sqlserver://localhost:1433;databaseName=Temp;;integratedSecurity=true;", "xyz",
                new Dictionary<string, string>());
        dataFrame.ShowSchema();
        var rowCount = dataFrame.Count();
        Console.WriteLine("Row count is " + rowCount);

很少有事情需要注意:

  • 此示例代码使用Microsoft JDBC驱动程序。如果您使用其他驱动程序或JDBC数据源,则需要更新URL
  • 您需要在提交SparkCLR作业时包含驱动程序jar文件

此样本的SparkCLR项目可在https://github.com/Microsoft/SparkCLR/tree/master/examples/JdbcDataFrame

获得

答案 1 :(得分:0)

我的建议是使用JDBC连接到sql server然后查询Dataframe。