Ste*_*nio 6 c# hdinsight apache-spark livy .net-spark
根据标题,我想请求计算Spark集群(Azure中的local/HDInsight)并从C#应用程序返回结果.
我承认Livy的存在,我理解它是一个位于Spark之上的REST API应用程序来查询它,我还没有找到一个标准的C#API包.这是工作的正确工具吗?它只是缺少一个众所周知的C#API吗?
在星火集群需要访问Azure的宇宙DB,所以我需要能够以提交包括连接器的jar库(或其上的群集驱动器路径)的一个工作,星火从读取数据宇宙.
作为一个用于查询数据的.NET Spark连接器似乎不存在,我写了一个
https://github.com/UnoSD/SparkSharp
这只是一个快速实现,但它确实还有一种使用Spark SQL查询Cosmos DB的方法
它只是Livy的一个C#客户端,但应该足够了。
using (var client = new HdInsightClient("clusterName", "admin", "password"))
using (var session = await client.CreateSessionAsync(config))
{
var sum = await session.ExecuteStatementAsync<int>("val res = 1 + 1\nprintln(res)");
const string sql = "SELECT id, SUM(json.total) AS total FROM cosmos GROUP BY id";
var cosmos = await session.ExecuteCosmosDbSparkSqlQueryAsync<IEnumerable<Result>>
(
"cosmosName",
"cosmosKey",
"cosmosDatabase",
"cosmosCollection",
"cosmosPreferredRegions",
sql
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3671 次 |
| 最近记录: |