Saya mencoba memusatkan data kami ke danau data ADLSgen2. Salah satu kumpulan data kami 'dibuang' di penyimpanan gumpalan dan saya ingin memiliki salinan yang dipicu.

File yang disimpan dalam penyimpanan blob memiliki data sebagai nama file (bisa berupa tanggal arbitrer) dalam format JSON. Yang saya inginkan adalah file baru (biner) disalin ke folder di danau data dengan jalur menggunakan potongan tanggal yang ada dalam nama file.

2020-01-01.jsonraw/blob/2020/01/raw_reports_blob_2020-01-01.json

Pertama saya mencoba pekerjaan penyalinan data dan Pipeline di Azure Synapse tetapi saya tidak yakin bagaimana mengatur jalur sink dengan detail dari nama file sumber. Tampaknya alat salin-data tidak dapat dipicu oleh file gumpalan baru. Metode pipa terlihat cukup kuat dan saya kira itu mungkin. Apa yang saya inginkan tidak terlalu sulit di Linux, jadi saya kira itu juga mungkin di Azure.

Kedua, saya mencoba membuat Fungsi Azure karena saya cukup nyaman dengan Python, namun di sini saya memiliki masalah yang sama karena saya perlu mendefinisikan binding masuk/keluar. Ikatan keluar ditentukan pada waktu desain dan tidak memberi saya kebebasan untuk jenis jalur berdasarkan nama file sumber. Juga, rasanya agak berlebihan untuk tindakan penyalinan biner sederhana. Saya dapat memicu fungsi dengan file baru di gumpalan dan membacanya tidak masalah.

Saya relatif baru di Azure dan bantuan apa pun untuk solusi sangat disambut baik.

0
D. Bakhuis 10 Mei 2021, 10:37

1 menjawab

Jawaban Terbaik

Lihat jawaban ini juga: https://stackoverflow.com/a/66393471/496289


Ada konsep "salinan" per s di ADLS. Anda membaca/mengunduh dari sumber dan menulis/mengunggah ke target.

Seperti yang disebutkan seseorang, Data Factory dapat melakukan ini.

Anda juga bisa menggunakan:

  • azcopy dari Fungsi Power Shell Azure. azcopy cp "https://[srcaccount].blob.core.windows.net/[container]/[path/to/blob]?[SAS]" "https://[destaccount].blob.core.windows.net/[container]/[path/to/blob]?[SAS]"
  • Python/Java/... Fungsi Azure. Anda harus mengunduh file (dalam potongan jika besar) dan mengunggahnya (dalam potongan jika besar).
  • Databricks. Ini akan menjadi penyalahgunaan alat yang serupa seperti menggunakan Azure Synapse Analytics untuk menyalin data antar akun penyimpanan.
  • Aplikasi Logika Azure. Lihat ini dan < a href="https://docs.microsoft.com/en-us/connectors/azureblobconnector/" rel="nofollow noreferrer">ini. Tidak pernah menggunakannya, tetapi saya yakin mereka lebih sedikit kode daripada Fungsi Azure dan memiliki beberapa kemampuan pemrograman, jika itu membantu Anda membuat jalur tujuan secara terprogram.

Hal-hal untuk diingat:

  • Data Factory, bisa mahal. Terutama dibandingkan dengan Azure Functions pada rencana konsumsi.
  • Fungsi Azure pada paket konsumsi memiliki waktu maksimal 10 menit sebelum waktu habis. Jadi tidak dapat menggunakannya jika Anda memiliki file dalam GB/TB.
  • Anda akan membayar biaya jalan keluar jika berlaku.
1
Kashyap 10 Mei 2021, 22:36