我尝试将字符串参数传递到完全用 .NET Spark C# 编写的 Spark NoteBook 中,无论我尝试什么,它都不起作用。最后做的工作是
- 将笔记本定义为 PySharp
- 定义参数 - PySharp
- 将参数值放在临时表中 - PySharp
- 然后从 C# 我可以从临时表中提取值并执行我的逻辑。
请参阅底部的示例代码,但有没有人有办法在 C# 中完成这项工作而无需所有的跳跃?
--- parameter cell ---
sourcefilepath = "test"
--- cell 1 ---
from pyspark.sql.types import StructType,StructField, StringType
schema = StructType([ StructField("sourcefilepath",StringType(),True)])
df = spark.createDataFrame([[sourcefilepath]],schema)
df.createOrReplaceTempView("sourcefilepathTable") ;
--- cell 2 ---
%%csharp
using System;
using System.Collections.Generic;
using Microsoft.Spark.Sql;
using Microsoft.Spark.Sql.Types;
using System.Diagnostics;
using System.IO ;
using System.Text.Json;
using System.IO.Compression ;
var dfSql = spark.Sql("Select sourcefilepath from sourcefilepathTable");
string sourcefilepath = dfSql.First().GetAs<string>("sourcefilepath");
-- remainder of my code goes here