Sumber batch Cloud Storage

Halaman ini memberikan panduan tentang cara mengonfigurasi plugin sumber batch Cloud Storage di Cloud Data Fusion.

Plugin sumber batch Cloud Storage memungkinkan Anda membaca data dari bucket Cloud Storage dan memasukkannya ke Cloud Data Fusion untuk pemrosesan dan transformasi lebih lanjut. Fungsi ini memungkinkan Anda memuat data dari beberapa format file, termasuk yang berikut:

  • Terstruktur: CSV, Avro, Parquet, ORC
  • Semi-terstruktur: JSON, XML
  • Lainnya: Teks, Biner

Sebelum memulai

Cloud Data Fusion biasanya memiliki dua akun layanan:

Sebelum menggunakan plugin sumber batch Cloud Storage, berikan peran atau izin berikut ke setiap akun layanan.

Cloud Data Fusion API Service Agent

Akun layanan ini sudah memiliki semua izin yang diperlukan dan Anda tidak perlu menambahkan izin tambahan.

Akun Layanan Compute Engine

Di project Google Cloud , berikan peran atau izin IAM berikut ke Akun Layanan Compute Engine:

  • Storage Legacy Bucket Reader (roles/storage.legacyBucketReader). Peran bawaan ini berisi izin storage.buckets.get yang diperlukan.
  • Storage Object Viewer (roles/storage.legacyBucketReader). Peran yang telah ditentukan sebelumnya ini berisi izin yang diperlukan berikut:

    • storage.objects.get
    • storage.objects.list

Mengonfigurasi plugin

  1. Buka antarmuka web Cloud Data Fusion dan klik Studio.
  2. Pastikan Data Pipeline - Batch dipilih (bukan Real-Time).
  3. Di menu Source, klik GCS. Node Cloud Storage akan muncul di pipeline Anda.
  4. Untuk mengonfigurasi sumber, buka node Cloud Storage, lalu klik Properties.
  5. Masukkan properti berikut. Untuk mengetahui daftar lengkapnya, lihat Properti.

    1. Masukkan Label untuk node Cloud Storage—misalnya, Cloud Storage tables.
    2. Masukkan detail koneksi. Anda dapat menyiapkan koneksi baru satu kali, atau koneksi yang sudah ada dan dapat digunakan kembali.

      Koneksi baru

      Untuk menambahkan koneksi satu kali ke Cloud Storage, ikuti langkah-langkah berikut:

      1. Tetap nonaktifkan Gunakan koneksi.
      2. Di kolom Project ID, biarkan nilainya sebagai deteksi otomatis.
      3. Di kolom Service account type, biarkan nilainya sebagai File path dan Service account file path sebagai deteksi otomatis.

      Koneksi yang dapat digunakan kembali

      Untuk menggunakan kembali koneksi yang ada, ikuti langkah-langkah berikut:

      1. Aktifkan Gunakan koneksi.
      2. Klik Jelajahi koneksi.
      3. Klik nama koneksi—misalnya, Cloud Storage Default.

      4. Opsional: jika koneksi tidak ada dan Anda ingin membuat koneksi baru yang dapat digunakan kembali, klik Tambahkan koneksi dan lihat langkah-langkah di tab Koneksi baru di halaman ini.

    3. Di kolom Reference name, masukkan nama yang akan digunakan untuk lineage—misalnya, data-fusion-gcs-campaign.

    4. Di kolom Path, masukkan jalur yang akan dibaca—misalnya, gs://BUCKET_PATH.

    5. Di kolom Format, pilih salah satu format file berikut untuk data yang dibaca:

      • avro
      • blob (format blob memerlukan skema yang berisi kolom bernama isi dari jenis byte)
      • csv
      • dibatasi
      • json
      • parquet
      • text (format teks memerlukan skema yang berisi kolom bernama isi dari string jenis)
      • tsv
      • Nama plugin format yang telah Anda deploy di lingkungan Anda
    6. Opsional: untuk menguji konektivitas, klik Dapatkan skema.

    7. Opsional: di kolom Sample size, masukkan baris maksimum untuk memeriksa jenis data yang dipilih—misalnya, 1000.

    8. Opsional: di kolom Ganti, masukkan nama kolom dan jenis datanya masing-masing yang akan dilewati.

    9. Opsional: masukkan Properti lanjutan, seperti ukuran pemisahan minimum atau filter jalur ekspresi reguler (lihat Properti).

    10. Opsional: di kolom Nama bucket sementara, masukkan nama untuk bucket Cloud Storage.

  6. Opsional: klik Validasi dan perbaiki error yang ditemukan.

  7. Klik Close. Properti disimpan dan Anda dapat terus mem-build pipeline data di Cloud Data Fusion Studio.

Properti

Properti Makro diaktifkan Properti wajib Deskripsi
Label Tidak Ya Nama node di pipeline data Anda.
Menggunakan koneksi Tidak Tidak Jelajahi koneksi yang dapat digunakan kembali ke sumber. Untuk informasi selengkapnya tentang cara menambahkan, mengimpor, dan mengedit koneksi yang muncul saat Anda menjelajahi koneksi, lihat Mengelola koneksi.
Koneksi Ya Ya Jika Gunakan koneksi diaktifkan, nama koneksi yang dapat digunakan kembali yang Anda pilih akan muncul di kolom ini.
ID Project Ya Tidak Hanya digunakan jika Gunakan koneksi dinonaktifkan. ID unik secara global untuk project.
Default-nya adalah auto-detect.
Jenis akun layanan Ya Tidak Pilih salah satu opsi berikut:
  • Jalur file: jalur tempat akun layanan berada.
  • JSON: Konten JSON akun layanan.
Service account file path Ya Tidak Hanya digunakan jika nilai Jenis akun layanan adalah Jalur file. Jalur di sistem file lokal kunci akun layanan yang digunakan untuk otorisasi. Jika tugas berjalan di cluster Dataproc, tetapkan nilai ke deteksi otomatis. Jika tugas berjalan pada jenis cluster lain, file tersebut harus ada di setiap node dalam cluster.
Default-nya adalah auto-detect.
JSON akun layanan Ya Tidak Hanya digunakan jika nilai Jenis akun layanan adalah JSON. Konten file JSON akun layanan.
Nama referensi Tidak Ya Nama yang mengidentifikasi sumber ini secara unik untuk layanan lain, seperti metadata anotasi dan garis keturunan.
Jalur Ya Ya Jalur ke file yang akan dibaca. Jika direktori ditentukan, akhiri jalur dengan garis miring terbalik (/). Misalnya, gs://bucket/path/to/directory/. Untuk mencocokkan pola nama file, Anda dapat menggunakan tanda bintang (*) sebagai karakter pengganti. Jika tidak ada file yang ditemukan atau cocok, pipeline akan gagal.
Format Tidak Ya Format data yang akan dibaca. Formatnya harus berupa salah satu dari berikut ini:
  • avro
  • blob (format blob memerlukan skema yang berisi kolom bernama isi dari jenis byte)
  • csv
  • dibatasi
  • json
  • parquet
  • text (format teks memerlukan skema yang berisi kolom bernama isi dari string jenis)
  • tsv
  • Nama plugin format apa pun yang telah Anda deploy di lingkungan Anda
  • Jika formatnya adalah makro, hanya format yang dikemas sebelumnya yang dapat digunakan
Ukuran sampel Ya Tidak Jumlah maksimum baris yang diselidiki untuk deteksi jenis data otomatis. Defaultnya adalah 1000.
Ganti Ya Tidak Daftar kolom dengan data yang sesuai yang akan dilewati deteksi jenis data otomatis.
Pemisah Ya Tidak Pemisah yang akan digunakan saat format dibatasi. Properti ini diabaikan untuk format lainnya.
Mengaktifkan nilai yang diapit tanda kutip Ya Tidak Apakah akan memperlakukan konten di antara tanda kutip sebagai nilai. Properti ini hanya digunakan untuk format csv, tsv, atau delimited. Misalnya, jika properti ini ditetapkan ke true, kode berikut akan menghasilkan dua kolom: 1, "a, b, c". Kolom pertama memiliki 1 sebagai nilainya. Yang kedua memiliki a, b, c. Karakter tanda petik akan dipotong. Pemisah baris baru tidak boleh berada dalam tanda kutip.
Plugin mengasumsikan tanda petik diapit dengan benar, misalnya, "a, b, c". Tidak menutup tanda kutip ("a,b,c,) akan menyebabkan error.
Nilai defaultnya adalah False.
Gunakan baris pertama sebagai header Ya Tidak Apakah akan menggunakan baris pertama setiap file sebagai header kolom. Format yang didukung adalah teks, csv, tsv, dan dibatasi.
Defaultnya adalah Salah.
Ukuran pemisahan minimum Ya Tidak Ukuran minimum, dalam byte, untuk setiap partisi input. Partisi yang lebih kecil meningkatkan tingkat paralelisme, tetapi memerlukan lebih banyak resource dan overhead.
Jika nilai Format adalah blob, Anda tidak dapat memisahkan data.
Ukuran pemisahan maksimum Ya Tidak Ukuran maksimum, dalam byte, untuk setiap partisi input. Partisi yang lebih kecil meningkatkan tingkat paralelisme, tetapi memerlukan lebih banyak resource dan overhead.
Jika nilai Format adalah blob, Anda tidak dapat memisahkan data.
Defaultnya adalah 128 MB.
Filter jalur ekspresi reguler Ya Tidak Ekspresi reguler yang harus cocok dengan jalur file agar disertakan dalam input. Jalur lengkap dibandingkan, bukan hanya nama file. Jika tidak ada file yang diberikan, pemfilteran file tidak akan dilakukan. Untuk informasi selengkapnya tentang sintaksis ekspresi reguler, lihat Pola.
Kolom jalur Ya Tidak Kolom output untuk menempatkan jalur file tempat data dibaca. Jika tidak ditentukan, jalur tidak akan disertakan dalam data output. Jika ditentukan, kolom harus ada dalam skema output sebagai string.
Nama file jalur saja Ya Tidak Jika properti Kolom jalur ditetapkan, hanya gunakan nama file, bukan URI jalur.
Defaultnya adalah False.
Membaca file secara rekursif Ya Tidak Apakah file akan dibaca secara berulang dari jalur.
Defaultnya adalah False.
Mengizinkan input kosong Ya Tidak Apakah akan mengizinkan jalur input yang tidak berisi data. Jika disetel ke False, plugin akan mengalami error saat tidak ada data untuk dibaca. Jika disetel ke True, tidak ada error yang ditampilkan dan tidak ada data yang dibaca.
Defaultnya adalah False.
File data dienkripsi Ya Tidak Apakah file dienkripsi. Untuk mengetahui informasi selengkapnya, lihat Enkripsi file data.
Defaultnya adalah False.
Akhiran file metadata enkripsi Ya Tidak Akhiran nama file untuk file metadata enkripsi.
Default-nya adalah metadata.
Properti sistem file Ya Tidak Properti tambahan yang akan digunakan dengan InputFormat saat membaca data.
Encoding file Ya Tidak Encoding karakter untuk file yang akan dibaca.
Defaultnya adalah UTF-8.
Skema output Ya Tidak Jika ditetapkan, properti Kolom jalur harus ada dalam skema sebagai string.

Enkripsi file data

Bagian ini menjelaskan properti Enkripsi file data. Jika Anda menyetelnya ke true, file akan didekripsi menggunakan Streaming AEAD yang disediakan oleh library Tink. Setiap file data harus disertai dengan file metadata yang berisi informasi cipher. Misalnya, file data terenkripsi di gs://BUCKET/PATH_TO_DIRECTORY/file1.csv.enc harus memiliki file metadata di gs://BUCKET/ PATH_TO_DIRECTORY/file1.csv.enc.metadata. File metadata berisi objek JSON dengan properti berikut:

Properti Deskripsi
kms URI Cloud Key Management Service yang digunakan untuk mengenkripsi Kunci Enkripsi Data.
aad Data Autentikasi Tambahan yang dienkode Base64 yang digunakan dalam enkripsi.
key set Objek JSON yang mewakili informasi keyset yang diserialisasi dari library Tink.

Contoh

    /* Counting example */
    {

      "kms": "gcp-kms://projects/my-key-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/mykey",

      "aad": "73iT4SUJBM24umXecCCf3A==",

      "keyset": {

          "keysetInfo": {

              "primaryKeyId": 602257784,

              "keyInfo": [{

                  "typeUrl": "type.googleapis.com/google.crypto.tink.AesGcmHkdfStreamingKey",

                  "outputPrefixType": "RAW",

                  "keyId": 602257784,

                  "status": "ENABLED"

              }]

          },

          "encryptedKeyset": "CiQAz5HH+nUA0Zuqnz4LCnBEVTHS72s/zwjpcnAMIPGpW6kxLggSrAEAcJKHmXeg8kfJ3GD4GuFeWDZzgGn3tfolk6Yf5d7rxKxDEChIMWJWGhWlDHbBW5B9HqWfKx2nQWSC+zjM8FLefVtPYrdJ8n6Eg8ksAnSyXmhN5LoIj6az3XBugtXvCCotQHrBuyoDY+j5ZH9J4tm/bzrLEjCdWAc+oAlhsUAV77jZhowJr6EBiyVuRVfcwLwiscWkQ9J7jjHc7ih9HKfnqAZmQ6iWP36OMrEn"

      }

    }
    

Catatan rilis

Langkah selanjutnya