完全に .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