Ich erhalte Fehler folgenden, während eine USQL Aktivität läuft in der Pipeline in ADF:Fehler beim USQL Aktivität in Pipeline in Azure Daten Fabrik läuft
Fehler bei Aktivität:
{"errorId":"E_CSC_USER_SYNTAXERROR","severity":"Error","component":"CSC",
"source":"USER","message":"syntax error.
Final statement did not end with a semicolon","details":"at token 'txt', line 3\r\nnear the ###:\r\n**************\r\nDECLARE @in string = \"/demo/SearchLog.txt\";\nDECLARE @out string = \"/scripts/Result.txt\";\nSearchLogProcessing.txt ### \n",
"description":"Invalid syntax found in the script.",
"resolution":"Correct the script syntax, using expected token(s) as a guide.","helpLink":"","filePath":"","lineNumber":3,
"startOffset":109,"endOffset":112}].
Hier ist die Code des Ausgabe-Datasets, der Pipeline und des USQL-Skripts, die ich in der Pipeline ausführen möchte.
OutputDataset:
{
"name": "OutputDataLakeTable",
"properties": {
"published": false,
"type": "AzureDataLakeStore",
"linkedServiceName": "LinkedServiceDestination",
"typeProperties": {
"folderPath": "scripts/"
},
"availability": {
"frequency": "Hour",
"interval": 1
}
}
Pipeline:
{
"name": "ComputeEventsByRegionPipeline",
"properties": {
"description": "This is a pipeline to compute events for en-gb locale and date less than 2012/02/19.",
"activities": [
{
"type": "DataLakeAnalyticsU-SQL",
"typeProperties": {
"script": "SearchLogProcessing.txt",
"scriptPath": "scripts\\",
"degreeOfParallelism": 3,
"priority": 100,
"parameters": {
"in": "/demo/SearchLog.txt",
"out": "/scripts/Result.txt"
}
},
"inputs": [
{
"name": "InputDataLakeTable"
}
],
"outputs": [
{
"name": "OutputDataLakeTable"
}
],
"policy": {
"timeout": "06:00:00",
"concurrency": 1,
"executionPriorityOrder": "NewestFirst",
"retry": 1
},
"scheduler": {
"frequency": "Minute",
"interval": 15
},
"name": "CopybyU-SQL",
"linkedServiceName": "AzureDataLakeAnalyticsLinkedService"
}
],
"start": "2017-01-03T12:01:05.53Z",
"end": "2017-01-03T13:01:05.53Z",
"isPaused": false,
"hubName": "denojaidbfactory_hub",
"pipelineMode": "Scheduled"
}
}
Hier ist mein USQL Script, das ich "DataLakeAnalyticsU-SQL" Leistungsart auszuführen versuchen verwenden.
@searchlog =
EXTRACT UserId int,
Start DateTime,
Region string,
Query string,
Duration int?,
Urls string,
ClickedUrls string
FROM @in
USING Extractors.Text(delimiter:'|');
@rs1 =
SELECT Start, Region, Duration
FROM @searchlog
WHERE Region == "kota";
OUTPUT @rs1
TO @out
USING Outputters.Text(delimiter:'|');
Bitte schlagen Sie mir vor, wie Sie dieses Problem beheben können.
Danke wbob. Es hat gut für mich funktioniert. Aber wir können nur Azure Storage im skriptverknüpften Service verwenden, nicht im azure Data Lake Store. – Jai
Ja, ich habe einen sehr spezifischen (und ungewöhnlich hilfreichen) Fehler beim Speichern des U-SQL-Skripts in ADLS erhalten: "scriptLinkedService' AzureDataStoreLinkedService' wird nicht unterstützt. Derzeit kann scriptLinkedService nur einen mit Azure Storage verknüpften Dienst akzeptieren. Bitte verwenden Sie Azure Speichern Sie den verknüpften Dienst und legen Sie stattdessen Ihr Skript in den Blob. " – wBob
Große Untersuchung, Harry-Bob :) –