我是ADL的新手& JSON文件。我正在嘗試將JSON文件加載到ADL表中。如何將JSON文件上傳到Azure Data Lake表
我的JSON文件結構
{ABCD:{Time:"", Date:"", ProcessingTime:"", ProcessName:""}},
{ABCD:{Date:"", ProcessingTime:"", ProcessName:""}},
{ABCD:{ProcessingTime:"", ProcessName:""}},
{ABCD:{Time:"", Date:"", ProcessingTime:"", ProcessName:""}},
我的表有所有的4列(時間,數據,ProcessingTime,& ProcessName)。
首先,我在使用USQL語句將其寫入CSV文件之前,先將它寫入表中。但是,所有空白記錄都會生成CSV輸出。
任何幫助表示讚賞。我也可以通過ADF來做到這一點嗎?我希望將此作爲預定的工作。
以下是我用來編寫CSV文件的USQL代碼。
CREATE ASSEMBLY IF NOT EXISTS [Newtonsoft.Json] FROM
"C:/Test/Assemblies/Newtonsoft.Json.dll";
CREATE ASSEMBLY IF NOT EXISTS [Microsoft.Analytics.Samples.Formats] FROM
"C:/ADL/Assemblies/Microsoft.Analytics.Samples.Formats.dll";
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
USING Microsoft.Analytics.Samples.Formats.Json;
DECLARE @path string = @"C:\Test\";
DECLARE @input string = @path + @"sample_data1.json";
DECLARE @to string = @path + @"output.csv";
@jsonFile =
EXTRACT
Time string,
Date string,
ProcessingTime string,
ProcessName string
FROM @input
USING new JsonExtractor();
OUTPUT @jsonFile
TO @to
USING Outputters.Csv();
乾杯!
謝謝彼得!刪除了Json對象之間的逗號並按照上面的建議更新了代碼,但是代碼失敗,出現「加載jarray時意外的內容結束」錯誤。使用Google搜索,但無法診斷錯誤。任何指導非常感謝。 – Rmani
@Rmani進一步檢查我注意到Json輸入仍然無效。我已經更新了答案中的示例輸入。然後我注意到在運行這個工作時顯然你不能使用所有的大寫標識符,所以我在腳本(l.23)中將'AS ADBC'改爲'AS Abcd'。我用我的示例輸入測試了它,並沒有發現錯誤。錯誤是否顯示任何行?你是否使用示例json或其他文件? –
再次感謝彼得!能夠創建CSV文件,有沒有辦法通過USQL刪除JSON對象之間的逗號並插入到Azure表中?我一直在Google上尋找答案,但找不到任何相關信息。 – Rmani