Azure / Azure/Azure-DataFactory

Error while copying data from sql server to adls gen2 in ORC format

Offen
#166 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
PowerShell
Sterne
529
Forks
623
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I have created a dynamic pipeline for copying data from SQL Server to ADLS Gen 2 in ORC format.

As per the requirement, column names can have special characters (allowed in SQL server) and Parquet and AVRO are not able to handle them, hence ORC format is used. For Example whitespace in column name is not supported in Parquet and AVRO.

An error occurs when the source table has a column name with "," character.

PFB details of error occurred in the pipeline run
{
"errorCode": "2200",
"message": "Failure happened on 'Sink' side. ErrorCode=ParquetJavaInvocationException,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=An error occurred when invoking java, message: java.lang.IndexOutOfBoundsException:Index: 6, Size: 6.,Source=Microsoft.DataTransfer.Common,''Type=Microsoft.DataTransfer.Richfile.JniExt.JavaBridgeException,Message=,Source=Microsoft.DataTransfer.Richfile.HiveOrcBridge,'",
"failureType": "UserError",
"target": "",
"details": []
}

Since the error message is ambiguous and there is no documentation for ORC format not supporting character "," assuming it a bug.

Sample table schema in SQL server:

DROP TABLE IF EXISTS SAMPLE_DATA

CREATE TABLE SAMPLE_DATA (
[FIRST,MIDDLE NAME] VARCHAR(15)
,[LAST NAME] VARCHAR(15)
,[AGE] INT
)

INSERT INTO SAMPLE_DATA(
[FIRST,MIDDLE NAME]
,[LAST NAME]
,[AGE])
VALUES ('POOJAN RAMESH','KOTHARI',25)
![image](https://user-images.githubusercontent.com/52167271/76930815-5fbdff80-690d-11ea-9fcb-858529441a93.png)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die dynamische Pipeline von SQL Server nach ADLS Gen 2 im ORC-Format unter Verwendung des Schemas SAMPLE_DATA zu reproduzieren, insbesondere die Spalte, die ein Komma enthält. Vergleiche den resultierenden Fehler mit dem Verhalten bei Parquet und Avro und prüfe die verfügbare Dokumentation zum ORC-Format. Als erledigt gilt die Feststellung, ob der Spaltenname nicht unterstützt wird oder die Pipeline einen Fehler enthält, und die anschließende Dokumentation des unterstützten Verhaltens und eines handlungsrelevanten Fehlers.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
azure, sql
Bereich
cloud, data-engineering, databases
Issue-Typ
Bug
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.