Bagikan melalui


Mengurai Data

Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory

Aliran data dalam paket mengekstrak dan memuat data antara penyimpanan data heterogen, yang dapat menggunakan berbagai jenis data standar dan kustom. Dalam aliran data, sumber Integration Services melakukan pekerjaan mengekstrak data, mengurai data string, dan mengonversi data ke jenis data Integration Services. Transformasi berikutnya dapat mengurai data untuk mengonversinya ke jenis data yang berbeda, atau membuat salinan kolom dengan jenis data yang berbeda. Ekspresi yang digunakan dalam komponen juga dapat melemparkan argumen dan operand ke jenis data yang berbeda. Terakhir, ketika data dimuat ke dalam penyimpanan data, tujuan dapat mengurai data untuk mengonversinya ke jenis data yang digunakan tujuan. Untuk informasi selengkapnya, lihat Jenis Data Integration Services.

Dua jenis penguraian

Integration Services menyediakan dua jenis penguraian untuk mengonversi data: Penguraian cepat dan Penguraian standar.

  • Penguraian cepat adalah serangkaian rutinitas penguraian yang cepat dan sederhana yang tidak mendukung konversi jenis data khusus lokal, dan hanya mendukung format tanggal dan waktu yang paling sering digunakan.

  • Penguraian standar adalah serangkaian rutinitas penguraian yang kaya yang mendukung semua konversi jenis data yang disediakan oleh API konversi jenis data Automation yang tersedia di Oleaut32.dll dan Ole2dsip.dll.

Penguraian Cepat

Penguraian cepat menyediakan serangkaian rutinitas yang cepat dan sederhana untuk mengurai data. Rutinitas ini tidak sensitif terhadap lokal dan hanya mendukung subset format tanggal, waktu, dan bilangan bulat.

Persyaratan dan batasan

Dengan menerapkan penguraian cepat, paket kehilangan kemampuannya untuk menginterpretasikan data tanggal, waktu, dan numerik dalam format khusus lokal dan banyak format dasar dan diperluas ISO 8601 yang sering digunakan, tetapi paket meningkatkan performanya. Misalnya, penguraian cepat hanya mendukung representasi format tanggal yang paling umum digunakan seperti YYYYMMDD dan YYYY-MM-DD, tidak melakukan penguraian khusus lokal, tidak mengenali karakter khusus dalam data mata uang, dan tidak dapat mengonversi representasi heksadesimal atau ilmiah bilangan bulat.

Penguraian cepat hanya tersedia saat Anda menggunakan sumber File Datar atau transformasi Konversi Data. Peningkatan performa bisa signifikan, dan Anda harus mempertimbangkan untuk menggunakan penguraian cepat dalam komponen aliran data ini jika Anda bisa.

Jika aliran data dalam paket memerlukan penguraian sensitif lokal, penguraian standar direkomendasikan alih-alih penguraian cepat. Misalnya, penguraian cepat tidak mengenali data sensitif lokal yang mencakup simbol desimal seperti koma, format tanggal selain format tanggal bulan tahun, dan simbol mata uang.

Representasi terpotong yang menyiratkan satu atau beberapa bagian tanggal, seperti abad, setahun, atau sebulan, tidak dikenali oleh penguraian cepat. Misalnya, penguraian cepat tidak mengenali format '-YYMM', yang menentukan tahun dan bulan dalam abad tersirat, atau '--MM', yang menentukan sebulan dalam tahun tersirat. Namun, beberapa representasi dengan presisi yang berkurang diakui. Misalnya, penguraian cepat mengenali format 'hhmm;', yang menunjukkan jam dan menit saja, dan 'YYYY', yang menunjukkan tahun saja.

Penguraian cepat ditentukan pada tingkat kolom. Di sumber File Datar dan transformasi Konversi Data, Anda dapat menentukan Penguraian cepat pada kolom output. Input dan output dapat mencakup kolom peka lokal dan tidak sensitif lokal.

Format data numerik (Penguraian Cepat)

Penguraian cepat menyediakan serangkaian rutinitas yang cepat, sederhana, dan tidak sensitif lokal untuk mengurai data. Penguraian cepat hanya mendukung serangkaian format terbatas untuk jenis data bilangan bulat.

Tipe data bilangan bulat

Jenis data bilangan bulat yang disediakan Integration Services adalah DT_I1, DT_UI1, DT_I2, DT_UI2, DT_I4, DT_UI4, DT_I8, dan DT_UI8. Untuk informasi selengkapnya, lihat Jenis Data Integration Services.

Penguraian cepat mendukung format berikut untuk jenis data bilangan bulat:

  • Nol atau lebih spasi atau pemberhentian tab di awal dan akhir. Misalnya, nilai " 123 " valid. Nilai yang merupakan semua spasi mengevaluasi ke nol.

  • Tanda plus terkemuka, tanda minus, atau tidak sama sekali. Misalnya, nilai +123, -123, dan 123 valid.

  • Satu atau beberapa angka Hindu-Arab (0-9). Misalnya, nilai 345 valid. Angka bahasa lain tidak didukung.

Format data yang tidak didukung meliputi yang berikut ini:

  • Karakter khusus. Misalnya, karakter mata uang $ tidak didukung, dan nilai $20 tidak dapat diuraikan.

  • Karakter spasi putih seperti umpan baris, pengembalian gerbong, dan spasi non-breaking. Misalnya, nilai " 123" tidak dapat diurai.

  • Representasi bilangan bulat heksadesimal. Misalnya, nilai 2EE tidak dapat diuraikan.

  • Representasi notasi ilmiah bilangan bulat. Misalnya, nilai 1E+10 tidak dapat diurai.

Format berikut adalah format data output untuk bilangan bulat:

  • Tanda minus untuk angka negatif dan tidak ada untuk angka positif.

  • Tidak ada spasi kosong.

  • Satu atau beberapa angka Hindu-Arab (0-9).

Format tanggal dan waktu (Penguraian Cepat)

Penguraian cepat menyediakan serangkaian rutinitas yang cepat dan sederhana untuk mengurai data. Penguraian cepat mendukung format berikut untuk jenis data tanggal dan waktu.

Jenis data tanggal

Penguraian cepat mendukung format string berikut untuk data tanggal:

  • Format tanggal yang menyertakan spasi kosong di depannya. Misalnya, nilai " 2004- 02-03" valid.

  • Format ISO 8601, seperti yang tercantum dalam tabel berikut:

    Format Deskripsi
    YYYYMMDD

    YYYY-MM-DD
    Format dasar dan diperluas untuk tahun empat digit, bulan dua digit, dan hari dua digit. Dalam format yang diperluas, bagian tanggal dipisahkan oleh tanda hubung (-).
    YYYY-MM Format presisi dasar dan diperpanjang berkurang untuk tahun empat digit dan bulan dua digit. Dalam format yang diperluas, bagian tanggal dipisahkan oleh tanda hubung (-).
    YYYY Format presisi yang dikurangi adalah tahun empat digit.

Penguraian cepat tidak mendukung format berikut untuk data tanggal:

  • Nilai bulan alfabet. Misalnya, format tanggal Okt-31-2003 tidak valid.

  • Format ambigu seperti DD-MM-YYYY dan MM-DD-YYYY. Misalnya, tanggal 03-04-1995 dan 04-03-1995 tidak valid.

  • Format dasar dan diperpanjang terpotong untuk tahun kalender empat digit dan hari tiga digit dalam setahun, YYYYDDD dan YYYY-DDD.

  • Format dasar dan diperluas untuk tahun empat digit, angka dua digit untuk minggu dalam setahun, dan angka satu digit untuk hari dalam seminggu, YYYYWwD dan YYYY-Www-D

  • Format dasar dan diperpanjang terpotong untuk tahun dan tanggal minggu adalah tahun empat digit dan angka dua digit untuk minggu itu, YYYWww dan YYYY-Www

Penguraian cepat menghasilkan data sebagai DT_DBDATE. Nilai tanggal dalam format terpotong diisi. Misalnya, YYYY menjadi YYYY0101.

Untuk informasi selengkapnya, lihat Jenis Data Integration Services.

Jenis data waktu

Penguraian cepat mendukung format string berikut untuk data waktu:

  • Format waktu yang menyertakan spasi putih di depannya. Misalnya, nilai " 10:24" valid.

  • Format 24 jam. Penguraian cepat tidak mendukung notasi AM dan PM.

  • Format waktu ISO 8601, seperti yang tercantum dalam tabel berikut:

    Format Deskripsi
    HHMISS

    HH:MI:SS
    Format dasar dan diperluas untuk jam dua digit, menit dua digit, dan detik dua digit. Dalam format yang diperluas, bagian waktu dipisahkan oleh titik dua (:).
    HHMI

    HH:MI
    Format terpotong dasar dan diperluas untuk jam dua digit dan menit dua digit. Dalam format yang diperluas, bagian waktu dipisahkan oleh titik dua (:).
    HH Format terpotong selama dua digit jam.
    00:00:00

    000000

    0000

    00

    240000

    24:00:00

    2400

    24
    Format untuk tengah malam.
  • Format waktu yang menentukan zona waktu, seperti yang tercantum dalam tabel berikut ini:.

    Format Deskripsi
    +HH:MI

    +HHMI
    Format dasar dan diperluas yang menunjukkan jumlah jam dan menit yang ditambahkan ke Waktu Universal Terkoordinasi (UTC) untuk mendapatkan waktu lokal.
    -HH:MI

    -HHMI
    Format dasar dan diperluas yang menunjukkan jumlah jam dan menit yang dikurangi dari UTC untuk mendapatkan waktu lokal.
    +HH Format terpotong yang menunjukkan jumlah jam yang ditambahkan ke UTC untuk mendapatkan waktu lokal.
    -HH Format terpotong yang menunjukkan jumlah jam yang dikurangi dari UTC untuk mendapatkan waktu lokal.
    Z Nilai 0 yang menunjukkan waktu diwakili dalam UTC.

    Format untuk semua waktu dan data tanggal/waktu dapat menyertakan elemen zona waktu. Namun, sistem mengabaikan nilai zona waktu kecuali ketika data berjenis DT_DBTIMESTAMPOFFSET. Untuk informasi selengkapnya, lihat Jenis Data Integration Services.

    Dalam format yang menyertakan elemen zona waktu, tidak ada spasi antara elemen waktu dan elemen zona waktu, seperti yang ditunjukkan dalam contoh berikut:

    HH:MI:SS[+HH:MI]

    Tanda kurung dalam contoh sebelumnya menunjukkan bahwa nilai zona waktu bersifat opsional.

  • Format waktu yang menyertakan pecahan desimal, seperti yang tercantum dalam tabel berikut:

    Format Deskripsi
    HH[.nnnnnnn] n adalah nilai antara 0 dan 9999999 yang mewakili sebagian kecil jam. Tanda kurung menunjukkan bahwa nilai ini bersifat opsional.

    Misalnya, nilai 12,750 menunjukkan 12:45.
    HHMI[.nnnnnnn]

    HH:MI[.nnnnnnn]
    n adalah nilai antara 0 dan 9999999 yang mewakili sebagian kecil dari menit. Tanda kurung menunjukkan bahwa nilai ini bersifat opsional.

    Misalnya, nilai 1220,500 menunjukkan 12:20:30.
    HHMISS[.nnnnnnn]

    HH:MI:SS[.nnnnnnn]
    n adalah nilai antara 0 dan 9999999 yang mewakili sebagian kecil detik. Tanda kurung menunjukkan bahwa nilai ini bersifat opsional.

    Misalnya, nilai 122040.250 menunjukkan 12:20:40.15.

    Catatan

    Pemisah pecahan untuk format waktu dalam tabel sebelumnya bisa berupa desimal atau koma.

  • Nilai waktu yang menyertakan lompatan detik, seperti yang ditunjukkan dalam contoh berikut:

    23:59:60[.0000000]

    235960[.0000000]

Penguraian cepat menghasilkan string sebagai DT_DBTIME dan DT_DBTIME2. Nilai waktu dalam format terpotong diisi. Misalnya, HH:MI menjadi HH:MM:00.000.

Untuk informasi selengkapnya, lihat Jenis Data Integration Services.

Jenis data Tanggal/Waktu

Penguraian cepat mendukung format string berikut untuk data tanggal/waktu:

  • Format yang menyertakan spasi kosong di depannya. Misalnya, nilai " 2003-01-10T203910" valid.

  • Kombinasi format tanggal yang valid dan format waktu yang valid dipisahkan oleh T huruf besar, dan format zona waktu yang valid, seperti YYYYMMDDT[HHMISS][+HH:MI]. Nilai zona waktu dan waktu tidak diperlukan. Misalnya, "2003-10-14" valid.

Penguraian cepat tidak mendukung interval waktu. Misalnya, interval waktu yang diidentifikasi oleh tanggal dan waktu mulai dan berakhir dalam format YYYYMMDDThhmmss/YYYYYMMDDThhmmss tidak dapat diurai.

Penguraian cepat menghasilkan string sebagai DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, dan DT_DBTIMESTAMPOFFSET. Nilai tanggal/waktu dalam format terpotong diisi. Tabel berikut mencantumkan nilai yang ditambahkan untuk bagian tanggal dan waktu yang hilang.

Bagian Tanggal/Waktu Padding
Detik Tambahkan 00.
Menit Tambahkan 00:00.
Jam Tambahkan 00:00:00.
Hari Tambahkan 01 untuk hari dalam sebulan.
Month Tambahkan 01 untuk bulan dalam setahun.

Untuk informasi selengkapnya, lihat Jenis Data Integration Services.

Aktifkan Penguraian Cepat

Properti penguraian cepat harus diatur untuk setiap kolom sumber atau transformasi yang menggunakan penguraian cepat. Untuk mengatur properti, gunakan editor Tingkat Lanjut dari sumber File Datar dan transformasi Konversi Data.

  1. Klik kanan sumber File Datar atau transformasi Konversi Data, lalu klik Perlihatkan Editor Lanjutan.

  2. Dalam kotak dialog Editor Lanjutan, klik tab Properti Input dan Output.

  3. Di panel Input dan Output , klik kolom yang ingin Anda aktifkan penguraian cepatnya.

  4. Di jendela Properti, perluas simpul Properti Kustom, lalu atur properti FastParse ke True.

  5. Klik OK.

Penguraian Standar

Penguraian standar adalah serangkaian rutinitas penguraian sensitif lokal yang mendukung semua konversi jenis data yang disediakan oleh API konversi jenis data Automation yang tersedia di Oleaut32.dll dan Ole2dsip.dll. Penguraian standar setara dengan API penguraian OLE DB.

Penguraian standar menyediakan dukungan untuk konversi jenis data data internasional, dan harus digunakan jika format data tidak didukung oleh penguraian Cepat.