Memuat data Channel YouTube ke BigQuery
Anda dapat memuat data dari Channel YouTube ke BigQuery menggunakan BigQuery Data Transfer Service untuk konektor Channel YouTube. Dengan BigQuery Data Transfer Service, Anda dapat menjadwalkan tugas transfer berulang yang menambahkan data terbaru dari Channel YouTube ke BigQuery.
Ringkasan konektor
BigQuery Data Transfer Service untuk konektor Channel YouTube mendukung opsi berikut untuk transfer data Anda.
| Opsi transfer data | Dukungan |
|---|---|
| Laporan yang didukung | Konektor Channel YouTube mendukung transfer data dari Laporan channel.
Konektor Channel YouTube mendukung versi API 18 Juni 2018. Untuk mengetahui informasi tentang cara laporan Channel YouTube diubah menjadi tabel dan tampilan BigQuery, lihat Transformasi laporan Channel YouTube. |
| Frekuensi pengulangan | Konektor Channel YouTube mendukung transfer data harian. Secara default, transfer data dijadwalkan pada saat transfer data dibuat. Anda dapat mengonfigurasi waktu transfer data saat menyiapkan transfer data. |
| Frekuensi pemuatan ulang | Konektor Channel YouTube mengambil data Channel YouTube dari maksimal 1 hari pada saat transfer data dijalankan.
Untuk mengetahui informasi selengkapnya, lihat Periode refresh. |
| Ketersediaan data isi ulang | Selama setiap proses transfer terjadwal, konektor Channel YouTube
akan otomatis mengisi ulang laporan yang baru dibuat atau diperbarui dari
hingga 60 hari sebelum tanggal proses transfer. Untuk mengetahui informasi selengkapnya, lihat
Pengisian ulang otomatis. Anda juga dapat menjalankan pengisian ulang data untuk mengambil data secara manual di luar transfer data terjadwal. Anda dapat mengambil data sejauh yang diizinkan oleh kebijakan retensi data di sumber data Anda. Laporan YouTube yang berisi data historis tersedia selama 30 hari sejak dibuat. (Laporan yang berisi data non-historis tersedia selama 60 hari.) Untuk mengetahui informasi selengkapnya, lihat Data historis. |
Penyerapan data dari transfer Channel YouTube
Saat Anda mentransfer data dari Channel YouTube ke BigQuery, data tersebut akan dimuat ke dalam tabel BigQuery yang dipartisi berdasarkan tanggal. Partisi tabel tempat data dimuat sesuai dengan tanggal dari sumber data. Jika Anda menjadwalkan beberapa transfer untuk tanggal yang sama, BigQuery Data Transfer Service akan menimpa partisi untuk tanggal tertentu tersebut dengan data terbaru. Beberapa transfer di hari yang sama atau menjalankan pengisian ulang tidak akan menghasilkan data duplikat, dan partisi untuk tanggal lain tidak akan terpengaruh.Periode pemuatan ulang
Periode refresh adalah jumlah hari yang digunakan transfer data untuk mengambil data saat transfer data terjadi. Misalnya, jika periode pembaruan adalah tiga hari dan transfer harian terjadi, BigQuery Data Transfer Service akan mengambil semua data dari tabel sumber Anda dari tiga hari terakhir. Dalam contoh ini, saat transfer harian terjadi, BigQuery Data Transfer Service akan membuat partisi tabel tujuan BigQuery baru dengan salinan data tabel sumber Anda dari hari ini, lalu secara otomatis memicu pengisian ulang untuk memperbarui partisi tabel tujuan BigQuery dengan data tabel sumber Anda dari dua hari terakhir. Proses pengisian ulang yang dipicu secara otomatis akan menimpa atau mengupdate tabel tujuan BigQuery Anda secara inkremental, tergantung pada apakah update inkremental didukung di konektor BigQuery Data Transfer Service atau tidak.Saat Anda menjalankan transfer data untuk pertama kalinya, transfer data akan mengambil semua data sumber yang tersedia dalam periode pemuatan ulang. Misalnya, jika jendela refresh adalah tiga hari dan Anda menjalankan transfer data untuk pertama kalinya, BigQuery Data Transfer Service akan mengambil semua data sumber dalam waktu tiga hari.
Konektor ini otomatis mengisi ulang laporan yang tertunda atau diperbarui dari 60 hari terakhir. Untuk mengambil data lain di luar periode pemuatan ulang, seperti data historis, atau untuk memulihkan data dari gangguan atau kesenjangan transfer, Anda dapat memulai atau menjadwalkan operasi pengisian ulang secara manual.Pengisian ulang otomatis
Jika laporan Channel YouTube tertunda atau dibuat ulang untuk tanggal sebelumnya, BigQuery Data Transfer Service akan otomatis mengisi ulang laporan tersebut. Selama setiap proses transfer terjadwal, BigQuery Data Transfer Service akan memeriksa laporan yang mencakup tanggal dalam 60 hari terakhir dan dibuat setelah proses transfer terjadwal sebelumnya. Untuk setiap tanggal dengan laporan yang baru tersedia, BigQuery Data Transfer Service akan otomatis menjadwalkan pengisian ulang transfer untuk memuat data yang diperbarui ke partisi tabel yang sesuai. Anda tidak perlu memicu pengisian ulang secara manual saat laporan YouTube tertunda atau diperbarui dalam periode 60 hari ini.
Batasan
- Frekuensi minimum yang dapat dijadwalkan untuk transfer data adalah sekali setiap 24 jam. Secara default, transfer data dimulai saat Anda membuat transfer. Namun, Anda dapat mengonfigurasi waktu mulai transfer data saat menyiapkan transfer.
- BigQuery Data Transfer Service tidak mendukung transfer data inkremental selama transfer Pemilik Konten YouTube. Saat Anda menentukan tanggal untuk transfer data, semua data yang tersedia untuk tanggal tersebut akan ditransfer.
- Anda tidak dapat membuat transfer data Channel YouTube jika Anda login sebagai identitas gabungan. Anda hanya dapat membuat transfer Channel YouTube saat login menggunakan Akun Google.
- Anda hanya dapat mentransfer data dari Channel YouTube yang terkait dengan Akun Google yang membuat transfer data. Untuk mengetahui informasi selengkapnya, lihat Pertimbangan otorisasi untuk transfer Channel YouTube.
Sebelum memulai
Sebelum Anda membuat transfer data Channel YouTube:
- Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan untuk mengaktifkan BigQuery Data Transfer Service.
- Buat set data BigQuery untuk menyimpan data YouTube.
Izin yang diperlukan
Pastikan Anda telah memberikan izin berikut.
Peran BigQuery yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat transfer data BigQuery Data Transfer Service, minta administrator untuk memberi Anda peran IAM BigQuery Admin (roles/bigquery.admin) di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat transfer data BigQuery Data Transfer Service. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat transfer data BigQuery Data Transfer Service:
-
Izin BigQuery Data Transfer Service:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
Izin BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi selengkapnya, lihat Memberikan akses bigquery.admin.
Peran Channel YouTube yang diperlukan
Anda harus memiliki kepemilikan Channel YouTube.
Menyiapkan transfer Channel YouTube
Untuk menyiapkan transfer data Channel YouTube, Anda memerlukan:
- Akhiran Tabel: Nama yang mudah digunakan untuk saluran yang Anda berikan saat menyiapkan transfer data. Akhiran ditambahkan ke ID pekerjaan untuk membuat nama tabel, misalnya reportTypeId_suffix. Akhiran digunakan untuk mencegah transfer terpisah agar tidak menulis ke tabel yang sama. Akhiran tabel harus unik di semua transfer yang memuat data ke dalam set data yang sama, dan akhiran harus pendek untuk meminimalkan panjang nama tabel yang dihasilkan.
Jika Anda menggunakan YouTube Reporting API dan sudah memiliki tugas pelaporan, BigQuery Data Transfer Service akan memuat data laporan Anda. Jika Anda belum memiliki tugas pelaporan, menyiapkan transfer akan otomatis mengaktifkan tugas pelaporan YouTube.
Untuk membuat transfer data Channel YouTube:
Konsol
Buka halaman Data transfers di konsol Google Cloud .
Klik Create transfer.
Di halaman Create Transfer:
Di bagian Jenis sumber, untuk Sumber, pilih Channel YouTube.
Di bagian Transfer config name, untuk Nama tampilan, masukkan nama untuk transfer data, misalnya
My Transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
Di bagian Schedule options:
- Untuk Repeat frequency, pilih opsi seberapa sering transfer data dijalankan. Jika Anda memilih Days, berikan waktu yang valid dalam UTC.
- Jika perlu, pilih Start now atau Start at set time, lalu masukkan tanggal mulai dan waktu proses.
Di bagian Destination settings, untuk Destination dataset, pilih set data yang Anda buat untuk menyimpan data.
Di bagian Detail sumber data:
- Untuk Tabel suffix, masukkan akhiran seperti
MT. - Centang kotak Konfigurasikan tugas untuk mengizinkan BigQuery mengelola tugas pelaporan YouTube bagi Anda. Jika ada laporan YouTube yang saat ini belum ada untuk akun Anda, tugas pelaporan baru akan dibuat untuk mengaktifkannya.
- Untuk Tabel suffix, masukkan akhiran seperti
(Opsional) Di bagian Opsi notifikasi:
- Klik tombol untuk mengaktifkan notifikasi email. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
- Untuk Select a Pub/Sub topic, pilih nama topik atau klik Create a topic. Opsi ini mengonfigurasi notifikasi operasi Pub/Sub untuk transfer data Anda.
Klik Simpan.
bq
Masukkan perintah bq mk dan berikan flag pembuatan transfer — --transfer_config. Flag berikut juga diperlukan:
--data_source--target_dataset--display_name--params
bq mk \ --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
Dengan keterangan:
- project_id adalah project ID Anda.
- dataset adalah set data target untuk konfigurasi transfer.
- name adalah nama tampilan untuk konfigurasi transfer. Nama transfer data dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
- parameters berisi parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh:
--params='{"param":"param_value"}'. Untuk transfer data Channel YouTube, Anda harus memberikan parametertable_suffix. Anda dapat memilih untuk menetapkan parameterconfigure_jobsketrueagar BigQuery Data Transfer Service dapat mengelola tugas pelaporan YouTube untuk Anda. Jika ada laporan YouTube yang belum ada untuk channel Anda, tugas pelaporan baru akan dibuat untuk mengaktifkannya. - data_source adalah sumber data —
youtube_channel.
Anda juga dapat memberikan flag --project_id untuk menentukan project tertentu. Jika --project_id tidak ditentukan, project default akan digunakan.
Misalnya, perintah berikut akan membuat transfer data Channel YouTube bernama
My Transfer menggunakan akhiran tabel MT, dan set data target mydataset. Transfer data dibuat di project default:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"table_suffix":"MT","configure_jobs":"true"}' \
--data_source=youtube_channel
API
Gunakan metode projects.locations.transferConfigs.create dan berikan instance resource TransferConfig.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Saat Anda menyimpan konfigurasi transfer, konektor Channel YouTube akan otomatis memicu operasi transfer sesuai dengan opsi jadwal Anda. Dengan setiap operasi transfer, konektor Channel YouTube mentransfer semua data yang tersedia dari Channel YouTube yang terkait dengan kredensial pengguna yang membuat transfer data ini.
Untuk mengetahui informasi selengkapnya tentang data yang disertakan dalam setiap transfer Channel YouTube, lihat Pertimbangan otorisasi untuk transfer Channel YouTube.
Untuk menjalankan transfer data secara manual di luar jadwal reguler, Anda dapat memulai operasi pengisian ulang.
Membuat kueri data Anda
Saat data Anda ditransfer ke BigQuery, data tersebut akan ditulis ke tabel berpartisi berdasarkan waktu penyerapan. Untuk informasi selengkapnya, lihat Pengantar tabel berpartisi.
Jika membuat kueri tabel secara langsung, bukan menggunakan tabel virtual yang dibuat otomatis, Anda harus menggunakan kolom semu _PARTITIONTIME dalam kueri. Untuk mengetahui informasi selengkapnya, lihat Membuat kueri tabel berpartisi.
Memecahkan masalah penyiapan transfer Channel YouTube
Jika Anda mengalami masalah saat menyiapkan transfer data, lihat Masalah transfer YouTube di bagian Memecahkan masalah konfigurasi transfer.