GSP283
Ringkasan
Bayangkan Anda memiliki set data yang berada di lokasi berbeda di seluruh
dunia, dan data Anda ada di bucket Google Cloud Storage atau di tabel
BigQuery. Bagaimana Anda dapat mengatur data tersebut sehingga dapat
dikonsolidasikan dan dianalisis untuk memberikan insight tentang bisnis Anda?
Managed Service untuk Apache Airflow membantu Anda membangun, menjadwalkan,
dan memantau alur kerja untuk memindahkan dan memproses data di berbagai
region dan sistem penyimpanan, menggunakan antarmuka grafis yang intuitif.
Fitur ini menyediakan framework fleksibel dengan operator dan integrasi yang
memungkinkan transfer data yang andal antara berbagai layanan seperti BigQuery
dan Cloud Storage.
Di lab ini, Anda akan membuat dan menjalankan alur kerja
Apache Airflow menggunakan
Managed Service untuk Apache Airflow
yang menyelesaikan tugas-tugas berikut:
-
Membaca informasi dari file konfigurasi berisi daftar tabel yang akan
disalin
-
Mengekspor daftar tabel dari set data
BigQuery yang
berlokasi di AS ke
Cloud Storage
- Menyalin tabel yang diekspor dari AS ke bucket Cloud Storage UE
- Mengimpor daftar tabel ke Set Data BigQuery target di UE

Yang akan Anda lakukan
Di lab ini, Anda akan mempelajari cara:
- Membuat lingkungan Managed Airflow.
- Membuat bucket Cloud Storage.
- Membuat set data BigQuery.
-
Membuat dan menjalankan alur kerja Apache Airflow di Managed Airflow untuk
memindahkan data antara Cloud Storage dan BigQuery.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Membuat lingkungan Managed Airflow
-
Di kolom judul Konsol Google Cloud, ketik
Managed Airflow di kolom Search, lalu klik
Managed Airflow di bagian Products & Page untuk
membuat lingkungan Managed Airflow.
-
Lalu klik Create environment.
-
Di menu dropdown, pilih Managed Airflow Gen 3.
-
Tetapkan parameter berikut untuk lingkungan Anda:
-
Name: airflow-advanced-lab
-
Location:
-
Image Version: composer-3-airflow-2.n.n-build.n
(pilih image dengan versi terbaru yang tersedia)
-
Service account: Akun layanan default Compute Engine
-
Resilience mode: Pilih
Standard resilience, dan untuk
Airflow database zone, pilih
-
Di bagian Environment resources, pilih
Small.
-
Untuk Web server network access control, pilih
Allow access from all IP addresses.
Tetap gunakan setelan default untuk semua setelan lainnya.
-
Klik Create.
Proses pembuatan lingkungan selesai ketika tanda centang hijau muncul di
sebelah kiri nama lingkungan pada halaman Environments di Konsol Cloud.
Catatan: Lingkungan memerlukan waktu hingga 20 menit untuk menyelesaikan proses penyiapannya. Lanjutkan ke bagian berikutnya Membuat bucket Cloud Storage dan set data tujuan BigQuery.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat lingkungan Managed Airflow.
Tugas 2. Membuat bucket Cloud Storage
Dalam tugas ini Anda akan membuat dua bucket Cloud Storage Multi-Region.
Bucket ini akan digunakan untuk menyalin tabel yang diekspor di antara kedua
lokasi, yaitu, AS ke UE.
Membuat bucket di AS
-
Buka Cloud Storage > Buckets, lalu klik
Create.
-
Berikan nama unik universal pada bucket termasuk project ID (misalnya
-us).
-
Untuk Location Type pilih
us (multiple regions in United States).
-
Biarkan nilai lainnya dalam setelan default lalu klik
Create.
-
Centang kotak
Enforce public access prevention on this bucket lalu klik
Confirm pada pesan pop-up
Public access will be prevented jika diminta.
Membuat bucket di UE
Ulangi langkah-langkah tersebut untuk membuat bucket lain di region
EU. Nama yang unik secara universal harus menyertakan lokasi
sebagai akhiran pada bucket Anda (mis.-eu).
Klik Check my progress untuk memverifikasi tujuan.
Membuat dua bucket Cloud Storage.
Tugas 3. Membuat set data tujuan BigQuery
-
Buat Set Data BigQuery tujuan di UE dari UI web baru BigQuery.
-
Buka Navigation menu > BigQuery.
Kotak pesan Welcome to BigQuery in the Cloud Console akan
terbuka. Kotak pesan ini menyediakan link ke panduan memulai dan membuat
daftar update UI.
-
Klik Done.
-
Setelah itu, klik titik tiga di samping project ID Qwiklabs Anda dan pilih
Create dataset.

-
Untuk Dataset ID, ketik nyc_tlc_EU. Untuk
Data location type, pilih EU dari dropdown
di bagian Multi-region.
- Klik Create dataset.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat set data BigQuery.
Tugas 4. Airflow dan konsep inti, pengantar singkat
-
Saat lingkungan Anda dibangun, baca tentang file contoh yang akan Anda
gunakan di lab ini.
Airflow adalah platform untuk
menulis, menjadwalkan, dan memantau alur kerja secara terprogram.
Gunakan Airflow untuk menulis alur kerja sebagai directed acyclic graph (DAG)
tugas. Scheduler Airflow menjalankan tugas Anda pada array worker sambil
mengikuti dependensi yang ditentukan.
Konsep inti
DAG
- Directed Acyclic Graph adalah kumpulan tugas, yang disusun untuk
mencerminkan hubungan dan dependensinya.
Operator
- Deskripsi tugas tunggal, umumnya bersifat atomik. Sebagai contoh,
BashOperatordigunakan untuk menjalankan perintah bash.
Task
- Instance Operator yang diparameterisasi; sebuah node di DAG.
Task Instance
- Operasi spesifik dari suatu tugas; dicirikan sebagai: DAG, Tugas, dan titik
waktu. Operasi ini memiliki status indikatif: running,
success, failed, skipped, ...
Pelajari lebih lanjut konsep Airflow dari
Dokumentasi konsep.
Tugas 5. Menentukan alur kerja
Alur kerja di Apache Airflow terdiri dari
DAG (Directed Acyclic Graph). Kode di
bq_copy_across_locations.py
merepresentasikan alur kerja, yang juga dikenal sebagai DAG. Buka file untuk
memahami cara DAG dibuat. Bagian berikutnya akan membahas detail komponen
utamanya.
Untuk mengorkestrasi semua tugas alur kerja, DAG mengimpor operator berikut:
-
DummyOperator: Membuat tugas contoh Mulai dan Akhir untuk
representasi visual DAG yang lebih baik.
-
BigQueryToCloudStorageOperator: Mengekspor tabel BigQuery ke
bucket Cloud Storage menggunakan format Avro.
-
GoogleCloudStorageToGoogleCloudStorageOperator: Menyalin file
di seluruh bucket Cloud Storage.
-
GoogleCloudStorageToBigQueryOperator: Mengimpor tabel dari file
Avro di bucket Cloud Storage.
-
Dalam contoh ini, fungsi
read_table_list() ditentukan untuk
membaca file konfigurasi dan membuat daftar tabel yang akan disalin:
# --------------------------------------------------------------------------------
# Functions
# --------------------------------------------------------------------------------
def read_table_list(table_list_file):
"""
Reads the master CSV file that will help in creating Airflow tasks in
the DAG dynamically.
:param table_list_file: (String) The file location of the master file,
e.g. '/home/airflow/framework/master.csv'
:return master_record_all: (List) List of Python dictionaries containing
the information for a single row in master CSV file.
"""
master_record_all = []
logger.info('Reading table_list_file from : %s' % str(table_list_file))
try:
with open(table_list_file, 'rb') as csv_file:
csv_reader = csv.reader(csv_file)
next(csv_reader) # skip the headers
for row in csv_reader:
logger.info(row)
master_record = {
'table_source': row[0],
'table_dest': row[1]
}
master_record_all.append(master_record)
return master_record_all
except IOError as e:
logger.error('Error opening table_list_file %s: ' % str(
table_list_file), e)
-
Nama dari DAG adalah
bq_copy_us_to_eu_01, dan DAG tidak
dijadwalkan secara default sehingga perlu dipicu secara manual.
default_args = {
'owner': 'airflow',
'start_date': datetime.today(),
'depends_on_past': False,
'email': [''],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
# DAG object.
with models.DAG('bq_copy_us_to_eu_01',
default_args=default_args,
schedule_interval=None) as dag:
-
Untuk menentukan plugin Cloud Storage, class
Cloud StoragePlugin(AirflowPlugin) ditentukan, dengan memetakan
hook dan operator yang telah di-download dari cabang stabil Airflow 1.10.
# Import operator from plugins
from gcs_plugin.operators import gcs_to_gcs
Tugas 6. Menampilkan informasi lingkungan
-
Buka kembali Managed Airflow untuk memeriksa status
lingkungan Anda.
-
Setelah lingkungan Anda dibuat, klik nama lingkungan untuk melihat
detailnya.
Halaman Environmental details memberikan informasi, seperti
URL UI web Airflow, ID cluster Google Kubernetes Engine, nama bucket Cloud
Storage yang terhubung ke folder DAG.
Catatan: Layanan Apache Airflow terkelola menggunakan Cloud Storage untuk menyimpan DAG, yang juga dikenal sebagai alur kerja. Setiap lingkungan memiliki bucket Cloud Storage terkait, dan hanya DAG yang ada di bucket tersebut yang dijadwalkan oleh Airflow.
Langkah selanjutnya harus diselesaikan di Cloud Shell.
Menciptakan lingkungan virtual
Lingkungan virtual python digunakan untuk mengisolasi penginstalan paket dari sistem.
- Instal lingkungan
virtualenv:
sudo apt-get install -y virtualenv
- Bangun lingkungan virtual:
python3 -m venv venv
- Aktifkan lingkungan virtual:
source venv/bin/activate
Tugas 7. Membuat variabel untuk bucket Cloud Storage DAG
-
Di Cloud Shell, jalankan perintah berikut untuk menyalin nama bucket DAG
dari halaman Environment Details Anda dan tetapkan variabel untuk merujuknya
di Cloud Shell:
Catatan: Pastikan untuk mengganti nama bucket DAG Anda dengan perintah berikut. Buka Navigation menu > Cloud Storage > Buckets, namanya akan mirip dengan -airflow-advance-YOURDAGSBUCKET-bucket.
DAGS_BUCKET=<your DAGs bucket name>
Anda akan menggunakan variabel ini beberapa kali selama lab.
Tugas 8. Menyetel variable Airflow
Variabel Airflow adalah konsep khusus Airflow yang berbeda dengan
variabel lingkungan. Pada langkah ini, Anda akan menyetel tiga
variabel Airflow
berikut yang digunakan oleh DAG yang akan kita deploy:
table_list_file_path, gcs_source_bucket, dan
gcs_dest_bucket.
| Kunci |
Nilai |
Detail |
table_list_file_path |
/home/airflow/gcs/dags/bq_copy_eu_to_us_sample.csv |
File CSV yang membuat daftar tabel sumber dan target, termasuk set data
|
gcs_source_bucket |
{UNIQUE ID}-us |
Bucket Cloud Storage yang digunakan untuk mengekspor tabel BigQuery dari
sumber
|
gcs_dest_bucket |
{UNIQUE ID}-eu |
Bucket Cloud Storage yang digunakan untuk mengimpor tabel BigQuery di
tujuan
|
Perintah gcloud composer selanjutnya mengeksekusi
variabel
sub-perintah Airflow CLI. Sub-perintah meneruskan argumen ke alat command line
gcloud.
Untuk menetapkan ketiga variabel, Anda akan menjalankan
composer command satu kali untuk setiap baris dari tabel di atas.
Bentuk perintahnya seperti ini:
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION variables -- \
set KEY VALUE
You can safely ignore this gcloud error:
(ERROR: gcloud crashed (TypeError): 'NoneType' object is not
callable). This is a
known issue
with using
gcloud composer environments run with the 410.0.0
version of gcloud. Your variables will still be set accordingly despite the
error message.
-
ENVIRONMENT_NAME adalah nama lingkungan.
-
LOCATION adalah region Compute Engine tempat lingkungan
tersebut berada. Perintah komposer gcloud memerlukan penyertaan flag
--location atau
penyetelan lokasi default
sebelum menjalankan perintah gcloud.
-
KEY dan VALUE menentukan variabel dan nilainya
yang akan disetel. Sertakan spasi, dua tanda hubung, dan spasi (
-- ) di antara perintah gcloud dengan argumen
terkait gcloud di sisi kiri, dan argumen terkait sub-perintah Airflow di
sisi kanan. Sertakan juga spasi di antara argumen KEY dan
VALUE menggunakan perintah
gcloud composer environments run dengan sub-perintah variabel.
Jalankan perintah ini di Cloud Shell, dengan mengganti
gcs_source_bucket dan gcs_dest_bucket dengan nama
bucket yang Anda buat pada Tugas 2.
gcloud composer environments run airflow-advanced-lab \
--location {{{ project_0.default_region | "REGION" }}} variables -- \
set table_list_file_path /home/airflow/gcs/dags/bq_copy_eu_to_us_sample.csv
gcloud composer environments run airflow-advanced-lab \
--location {{{ project_0.default_region | "REGION" }}} variables -- \
set gcs_source_bucket {UNIQUE ID}-us
gcloud composer environments run airflow-advanced-lab \
--location {{{ project_0.default_region | "REGION" }}} variables -- \
set gcs_dest_bucket {UNIQUE_ID}-eu
Untuk melihat nilai suatu variabel, jalankan
variabel
sub-perintah Airflow CLI dengan argumen get atau gunakan
UI Airflow.
Misalnya, jalankan perintah berikut:
gcloud composer environments run airflow-advanced-lab \
--location {{{ project_0.default_region | "REGION" }}} variables -- \
get gcs_source_bucket
Catatan: Pastikan untuk menetapkan ketiga variabel Airflow yang digunakan oleh DAG tersebut.
Tugas 9. Mengupload DAG dan dependensinya ke Cloud Storage
- Salin file contoh dokumen Python Google Cloud ke Cloud Shell Anda:
cd ~
gcloud storage cp -r gs://spls/gsp283/python-docs-samples.
-
Upload salinan hook dan operator pihak ketiga ke folder plugin di bucket
Cloud Storage DAG Airflow Anda:
gcloud storage cp -r python-docs-samples/third_party/apache-airflow/plugins/* gs://$DAGS_BUCKET/plugins
-
Selanjutnya, upload DAG dan file konfigurasi ke bucket Cloud Storage DAG
lingkungan Anda:
gcloud storage cp python-docs-samples/composer/workflows/bq_copy_across_locations.py gs://$DAGS_BUCKET/dags
gcloud storage cp python-docs-samples/composer/workflows/bq_copy_eu_to_us_sample.csv gs://$DAGS_BUCKET/dags
Layanan Apache Airflow yang terkelola mendeteksi dan mendaftarkan DAG di
lingkungan Airflow secara otomatis, dengan pembaruan yang biasanya tercermin
dalam beberapa menit. Anda dapat memantau status tugas melalui antarmuka web
Airflow dan memverifikasi bahwa perilaku penjadwalan DAG sesuai dengan
konfigurasi yang ditentukan.
Tugas 10. Menjelajahi UI Airflow
Untuk mengakses antarmuka web Airflow menggunakan Konsol Cloud:
- Kembali ke halaman Environments di Managed Airflow.
-
Pada kolom Airflow webserver untuk lingkungan, klik link
Airflow.
- Klik kredensial lab Anda.
-
UI web Airflow terbuka di jendela browser baru. Data akan sedang dimuat saat
Anda tiba di sini. Anda dapat melanjutkan lab selama hal ini berlangsung.
Melihat variabel
Variabel yang Anda tetapkan sebelumnya akan tetap ada di lingkungan Anda.
-
Lihat variabel dengan memilih Admin >Variables
dari panel menu Airflow.

Memicu DAG untuk berjalan secara manual
-
Klik pada tab DAGs dan tunggu hingga link selesai dimuat.
-
Untuk memicu DAG secara manual, klik tombol putar
composer_sample_bq_copy_across_locations :

- Klik Trigger DAG untuk mengonfirmasi tindakan ini.
Klik Check my progress untuk memverifikasi tujuan.
Mengupload DAG dan dependensinya ke Cloud Storage
Menjelajahi operasi DAG
Saat Anda mengupload file DAG ke folder DAG (lokasi penyimpanan yang
dikonfigurasi), Apache Airflow akan menguraikan file tersebut. Jika tidak
ditemukan error, alur kerja akan muncul di daftar DAG, dan dimasukkan dalam
antrean untuk dijalankan berdasarkan konfigurasi penjadwalannya. Jika jadwal
ditetapkan ke None, alur kerja tidak akan berjalan secara otomatis dan harus
dipicu secara manual.
Status Runs berubah menjadi hijau setelah tombol putar
ditekan:

-
Klik nama DAG untuk membuka halaman detail DAG. Halaman ini menyertakan
representasi grafis dari tugas dan dependensi alur kerja.

-
Sekarang, di toolbar, klik Graph, lalu arahkan mouse ke
gambar setiap tugas untuk melihat statusnya. Perhatikan bahwa batas di
sekitar setiap tugas juga menunjukkan statusnya (hijau = running; merah =
failed, etc.).

Untuk menjalankan alur kerja lagi dari tampilan Graph:
- Dalam Tampilan Grafik UI Airflow, klik gambar start.
-
Klik Clear > Clear existing task untuk mereset semua tugas,
lalu klik Clear DAG run untuk mengonfirmasi.
Muat ulang browser Anda saat proses sedang berjalan untuk melihat informasi
terbaru.
Tugas 11. Memvalidasi hasil
Sekarang periksa status dan hasil alur kerja dengan membuka halaman Konsol
Cloud berikut:
-
Tabel yang diekspor disalin dari bucket AS ke bucket Cloud Storage UE. Klik
Cloud Storage untuk melihat file Avro perantara di bucket
sumber (AS) dan tujuan (UE).
-
Daftar tabel diimpor ke Set Data BigQuery target. Klik
BigQuery, lalu klik nama project Anda dan set data
nyc_tlc_EU untuk memvalidasi bahwa tabel dapat diakses dari
set data yang Anda buat.
Menghapus lingkungan Cloud Composer
-
Kembali ke halaman Environments di Cloud Composer.
-
Pilih lingkungan Cloud Composer Anda.
-
Klik Delete.
-
Pada dialog yang terbuka, klik Delete untuk mengonfirmasi bahwa Anda ingin melanjutkan menghapus lingkungan Cloud Composer.
Selamat!
Anda menyalin tabel secara terprogram dari AS ke UE! Lab ini didasarkan pada
postingan blog
yang ditulis oleh David Sabater Dinter.
Langkah berikutnya
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 20 April 2026
Lab Terakhir Diuji pada 20 April 2026
Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.