-5

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

4

2 回答 2

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

于 2016-01-09T00:08:20.167 回答
0

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

于 2016-01-02T01:41:32.630 回答