SparkCLR 中如何从 SQL Server 中获取数据?
问问题
525 次
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 回答