Sumber batch Cloud Storage

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

Dengan plugin sumber batch Cloud Storage, Anda dapat membaca data dari bucket Cloud Storage dan memasukkannya ke Cloud Data Fusion untuk pemrosesan dan transformasi lebih lanjut. Hal ini memungkinkan Anda memuat data dari berbagai format file, termasuk:

  • 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 lain.

Akun Layanan Compute Engine

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

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

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

Mengonfigurasi plugin

  1. Buka antarmuka web Cloud Data Fusion, lalu klik Studio.
  2. Pastikan Data Pipeline - Batch dipilih (bukan Realtime).
  3. Di menu Sumber, 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 ID project, biarkan nilai sebagai deteksi otomatis.
      3. Di kolom Service account type, biarkan nilai 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 tidak ada koneksi dan Anda ingin membuat koneksi baru yang dapat digunakan kembali, klik Add connection, lalu lihat langkah-langkah di tab New connection pada 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 asal untuk membaca—misalnya, gs://BUCKET_PATH.

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

      • avro
      • blob (format blob memerlukan skema yang berisi kolom bernama kolom dari jenis byte)
      • csv
      • delimited
      • json
      • parquet
      • text (format teks memerlukan skema yang berisi kolom yang bernama isi dari string jenis)
      • tsv
      • Nama plugin format yang telah di-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 Override, masukkan nama kolom dan setiap jenis data yang akan dilewati.

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

    10. Opsional: di kolom Temporary bucket name, masukkan nama untuk bucket Cloud Storage.

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

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

Properti

Properti Makro diaktifkan Properti wajib Deskripsi
Label Tidak Ya Nama node di pipeline data Anda.
Gunakan koneksi Tidak Tidak Cari koneksi yang dapat digunakan kembali ke sumber tersebut. Untuk mengetahui informasi selengkapnya cara menambahkan, mengimpor, dan mengedit koneksi yang muncul saat Anda menjelajahi koneksi, lihat Mengelola koneksi.
Koneksi Ya Ya Jika Use connection 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 global untuk project.
Default-nya adalah auto-detect.
Jenis akun layanan Ya Tidak Pilih salah satu opsi berikut:
  • File path: 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 dari kunci akun layanan yang digunakan untuk otorisasi. Jika tugas berjalan di cluster Dataproc, tetapkan nilainya ke deteksi otomatis. Jika tugas dijalankan pada jenis cluster lain, file harus ada di setiap node dalam cluster.
Nilai defaultnya 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 secara unik mengidentifikasi sumber ini untuk layanan lain, seperti silsilah dan metadata anotasi.
Jalur Ya Ya Jalur ke file yang akan dibaca. Jika sebuah direktori ditentukan, hentikan jalur tersebut dengan garis miring terbalik (/). Misalnya, gs://bucket/path/to/directory/. Agar cocok dengan 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 salah satu dari berikut ini:
  • avro
  • blob (format blob memerlukan skema yang berisi kolom bernama isi jenis byte)
  • csv
  • delimited
  • json
  • parquet
  • text (format teks memerlukan skema yang berisi kolom bernama isi dari jenis string)
  • tsv
  • Nama plugin format yang telah di-deploy di lingkungan Anda
  • Jika formatnya adalah makro, hanya format dalam bentuk paket yang dapat digunakan
Ukuran sampel Ya Tidak Jumlah maksimum baris yang diselidiki untuk deteksi jenis data otomatis. Nilai defaultnya adalah 1000.
Ganti Ya Tidak Daftar kolom dengan data yang sesuai yang dilewati deteksi jenis data otomatisnya.
Pemisah Ya Tidak Pemisah yang akan digunakan jika formatnya delimited. Properti ini diabaikan untuk format lain.
Aktifkan nilai yang dikutip Ya Tidak Apakah akan memperlakukan konten yang berada di antara tanda kutip sebagai sebuah nilai. Properti ini hanya digunakan untuk format csv, tsv, atau delimited. Misalnya, jika properti ini disetel ke benar (true), kode berikut akan menghasilkan dua kolom: 1, "a, b, c". Kolom pertama berisi 1 sebagai nilainya. Yang kedua memiliki a, b, c. Karakter tanda kutip dipangkas. Pemisah baris baru tidak boleh dalam tanda kutip.
Plugin mengasumsikan bahwa tanda kutip disertakan dengan benar, misalnya, "a, b, c". Tidak menutup penawaran harga ("a,b,c,) akan menyebabkan error.
Nilai defaultnya adalah False.
Gunakan baris pertama sebagai header Ya Tidak Apakah akan menggunakan baris pertama dari setiap file sebagai header kolom. Format yang didukung adalah text, csv, tsv, dan delimited.
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 membagi 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 membagi data.
Defaultnya adalah 128 MB.
Filter jalur regex Ya Tidak Ekspresi reguler yang harus cocok dengan jalur file untuk disertakan dalam input. Jalur lengkap dibandingkan, bukan hanya nama file. Jika tidak ada file yang diberikan, pemfilteran file tidak akan dilakukan. Untuk mengetahui 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 tersebut harus ada dalam skema output sebagai string.
Hanya nama file jalur Ya Tidak Jika properti Kolom jalur ditetapkan, hanya gunakan nama file, bukan URI jalur.
Default-nya adalah False.
Membaca file secara berulang Ya Tidak Apakah file akan dibaca secara rekursif dari jalur.
Default-nya adalah False.
Izinkan input kosong Ya Tidak Apakah akan mengizinkan jalur input yang tidak berisi data. Jika ditetapkan ke False, plugin akan mengalami error ketika tidak ada data untuk dibaca. Jika ditetapkan ke True, tidak ada error yang ditampilkan dan nol kumpulan data akan dibaca.
Default-nya adalah False.
File data yang dienkripsi Ya Tidak Apakah file dienkripsi. Untuk mengetahui informasi selengkapnya, lihat Enkripsi file data.
Default-nya adalah False.
Akhiran file metadata enkripsi Ya Tidak Akhiran nama file untuk file metadata enkripsi.
Defaultnya adalah metadata.
Properti sistem file Ya Tidak Properti tambahan yang akan digunakan dengan InputFormat saat membaca data.
Encoding file Ya Tidak Pengkodean karakter untuk file yang akan dibaca.
Defaultnya adalah UTF-8.
Skema output Ya Tidak Jika properti Kolom jalur ditetapkan, properti tersebut harus ada dalam skema sebagai string.

Enkripsi file data

Bagian ini menjelaskan properti Enkripsi file data. Jika Anda menetapkannya ke true, file akan didekripsi menggunakan AEAD Streaming 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 Terautentikasi Tambahan yang dienkode menggunakan Base64 yang digunakan dalam enkripsi.
key set Objek JSON yang mewakili informasi keyset serial 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