私はData Lake Analyticsのpythonスクリプトにデータを渡そうとしています。USQL + Python - 定義に一致しないスキーマ
私はエラーをはっきりと示すためにこれを取り除きました。私はテーブル形式がint、int型、float型である私は
@FormattedCasinoData =
SELECT int.Parse(UserID) AS [UserID],
int.Parse(ModelID) AS [ModelID],
float.Parse(Value) AS [Value]
FROM @CasinoData
WHERE UserID != "UserID"
ORDER BY UserID
FETCH 1000 ROWS;
非常に単純なテーブルを持っている:-)
... Pythonは実際に何もしていません理解しています。
私はこの
REFERENCE ASSEMBLY [ExtPython];
DECLARE @myScript = @"
def usqlml_main(df):
return df
";
@pythonOutput =
REDUCE @FormattedCasinoData ON [UserID]
PRODUCE [UserID] int, [ModelID] int, [Value] float
USING new Extension.Python.Reducer(pyScript:@myScript);
OUTPUT @pythonOutput
TO @"adl://mydatalake.azuredatalakestore.net/myFolder/PythonOutput20171208.csv"
USING Outputters.Csv();
を実行しようとすると、私は次のエラーを取得する:
「Pythonはデータフレームのスキーマ(可能System.Int32、可能System.Int32、System.Doubleは)試合U-SQLを行い返さスキーマ(System.Int32、System.Int32、System.Single) "
なぜ私は明示的に"フロート "を出力に定義した場合、U-SQLスキーマが3番目の列に対してSystem.Singleを必要としているか考えてください。
ありがとうございます!