1. Ikhtisar/Pendahuluan
Meskipun aplikasi multi-tingkat yang terdiri dari web, server aplikasi, dan database merupakan fondasi bagi pengembangan web dan merupakan titik awal bagi banyak situs, kesuksesan sering kali akan menimbulkan tantangan seputar skalabilitas, integrasi, dan ketangkasan. Misalnya, bagaimana data dapat ditangani secara real-time dan bagaimana data tersebut dapat didistribusikan ke beberapa sistem bisnis utama? Masalah ini ditambah dengan tuntutan aplikasi berskala internet mendorong kebutuhan akan sistem pesan terdistribusi dan memunculkan pola arsitektur penggunaan data pipeline untuk mencapai sistem real-time yang tangguh. Akibatnya, memahami cara memublikasikan data real-time ke sistem pesan terdistribusi, dan cara membangun pipeline data adalah keterampilan penting bagi developer dan arsitek.
Yang akan Anda buat
Dalam codelab ini, Anda akan membangun pipeline data cuaca yang dimulai dengan perangkat Internet of Things (IoT), menggunakan antrean pesan untuk menerima dan mengirimkan data, memanfaatkan fungsi serverless untuk memindahkan data ke data warehouse, lalu membuat dasbor yang menampilkan informasi tersebut. Raspberry Pi dengan sensor cuaca akan digunakan untuk perangkat IoT dan beberapa komponen Google Cloud Platform akan membentuk pipeline data. Membuat Raspberry Pi, meskipun bermanfaat, adalah bagian opsional dari codelab ini dan data cuaca streaming dapat diganti dengan skrip.
Setelah menyelesaikan langkah-langkah dalam codelab ini, Anda akan memiliki pipeline data streaming yang memasukkan dasbor yang menampilkan suhu, kelembapan, titik embun, dan tekanan udara.
Yang akan Anda pelajari
- Cara menggunakan Google Pub/Sub
- Cara men-deploy Google Cloud Function
- Cara memanfaatkan Google BigQuery
- Cara membuat dasbor menggunakan Google Data Studio
- Selain itu, jika membuat sensor IoT, Anda juga akan mempelajari cara menggunakan Google Cloud SDK dan cara mengamankan panggilan akses jarak jauh ke Google Cloud Platform
Yang Anda butuhkan
- Akun Google Cloud Platform. Pengguna baru Google Cloud Platform memenuhi syarat untuk mendapatkan uji coba gratis senilai$300.
Jika ingin membangun bagian sensor IoT di codelab ini, bukan memanfaatkan data sampel dan skrip, Anda juga memerlukan hal berikut ( yang dapat dipesan sebagai kit lengkap atau sebagai bagian tersendiri di sini)...
- Raspberry Pi Zero W dengan catu daya, kartu memori SD, dan casing
- Pembaca kartu USB
- Hub USB (agar keyboard dan mouse dapat disambungkan ke satu-satunya port USB di Raspberry Pi)
- Kabel papan tempat memotong roti (breadboard) perempuan ke perempuan
- Header Hammer GPIO
- Sensor BME280
- Besi penyolderan dengan pasokan
Selain itu, dianggap juga memiliki akses ke monitor komputer atau TV dengan input HDMI, kabel HDMI, keyboard, dan mouse.
2. Mempersiapkan
Penyiapan lingkungan mandiri
Jika belum memiliki Akun Google (Gmail atau G Suite), Anda harus membuatnya. Terlepas dari apakah Anda sudah memiliki akun Google atau belum, pastikan untuk memanfaatkan uji coba gratis senilai$300!
Login ke konsol Google Cloud Platform ( console.cloud.google.com). Anda dapat menggunakan project default ("My First Project") untuk lab ini atau Anda dapat memilih untuk membuat project baru. Jika ingin membuat project baru, Anda dapat menggunakan halaman Mengelola resource. Project ID harus berupa nama unik di semua project Google Cloud (nama yang ditampilkan di bawah ini sudah digunakan dan tidak akan berfungsi untuk Anda). Catat project ID Anda (misalnya, project ID Anda akan menjadi _____) karena akan diperlukan nanti.
Menjalankan operasi dalam codelab ini seharusnya tidak memerlukan biaya lebih dari beberapa dolar, tetapi bisa lebih mahal jika Anda memutuskan untuk menggunakan lebih banyak resource atau jika Anda membiarkannya berjalan. Pastikan Anda membuka bagian Pembersihan di akhir codelab.
3. Membuat tabel BigQuery
BigQuery adalah data warehouse perusahaan yang serverless, sangat skalabel, dan hemat biaya, serta akan menjadi opsi ideal untuk menyimpan data yang di-streaming dari perangkat IoT sekaligus memungkinkan dasbor analisis untuk mengkueri informasi.
Mari kita buat tabel yang akan menyimpan semua data cuaca IoT. Pilih BigQuery dari Konsol Cloud. Tindakan ini akan membuka BigQuery di jendela baru (jangan tutup jendela awal karena Anda akan mengaksesnya lagi).
Klik ikon panah bawah di samping nama proyek Anda dan kemudian pilih "Create new dataset"
Masukkan "weatherData" untuk {i>Dataset<i}, pilih lokasi tempatnya akan disimpan dan klik "OK"
Klik "+" masuk di samping {i>Dataset<i} Anda untuk membuat tabel baru
Untuk Source Data, pilih Create empty table. Untuk Nama tabel tujuan, masukkan weatherDataTable. Di bagian Schema, klik tombol Add Field hingga ada total 9 kolom. Isi kolom seperti yang ditampilkan di bawah, pastikan Anda juga memilih Jenis yang sesuai untuk setiap kolom. Setelah semuanya selesai, klik tombol Create Table.
Anda akan melihat hasil seperti ini...
Anda sekarang memiliki konfigurasi data warehouse untuk menerima data cuaca.
4. Membuat topik Pub/Sub
Cloud Pub/Sub adalah fondasi sederhana, andal, dan skalabel untuk analisis streaming dan sistem komputasi berbasis peristiwa. Hasilnya, layanan ini sangat cocok untuk menangani pesan IoT yang masuk, lalu mengizinkan sistem downstream untuk memprosesnya.
Jika Anda masih berada di jendela untuk BigQuery, beralihlah kembali ke Konsol Cloud. Jika Anda menutup Konsol Cloud, buka https://console.cloud.google.com
Dari Cloud Console, pilih Pub/Sub, lalu Topics.
Jika Anda melihat prompt Enable API, klik tombol Enable API.
Klik tombol Create a topic
Masukkan "weatherdata" sebagai nama topik, lalu klik "Create"
Anda akan melihat topik yang baru dibuat
Anda sekarang memiliki topik Pub/Sub untuk memublikasikan pesan IoT dan mengizinkan proses lain mengakses pesan tersebut.
Publikasi topik dengan aman
Jika berencana memublikasikan pesan ke topik Pub/Sub dari resource di luar Konsol Google Cloud (misalnya sensor IoT), Anda perlu mengontrol akses dengan lebih ketat menggunakan akun layanan dan memastikan keamanan koneksi dengan membuat sertifikat kepercayaan.
Dari Konsol Cloud, pilih IAM & Admin, lalu Akun layanan
Klik tombol Create service account
Di menu drop-down Peran, pilih peran Pub/Sub Publisher
Ketik nama akun layanan (iotWeatherPublisher), centang kotak Furnish a new private key, pastikan Key type disetel ke JSON dan klik "Create"
Kunci keamanan akan didownload secara otomatis. Hanya ada satu kunci, jadi pastikan kunci tersebut tidak hilang. Klik Tutup.
Anda akan melihat bahwa akun layanan telah dibuat dan ada ID Kunci yang terkait dengannya.
Agar mudah mengakses kunci di lain waktu, kita akan menyimpannya di Google Cloud Storage. Dari Konsol Cloud, pilih Storage, lalu Browser.
Klik tombol Create Bucket
Pilih nama untuk bucket penyimpanan (nama tersebut harus unik secara global di seluruh Google Cloud) lalu klik tombol Buat
Temukan kunci keamanan yang otomatis didownload, lalu tarik/lepas atau upload ke dalam bucket penyimpanan
Setelah upload kunci selesai, kunci akan muncul di browser Cloud Storage
Catat nama bucket penyimpanan dan nama file kunci keamanan untuk nanti.
5. Membuat Cloud Function
Cloud computing memungkinkan model komputasi yang sepenuhnya serverless, dengan logika dapat dijalankan sesuai permintaan sebagai respons terhadap peristiwa yang berasal dari mana saja. Untuk lab ini, Cloud Function akan dimulai setiap kali pesan dipublikasikan ke topik cuaca, membaca pesan, lalu menyimpannya di BigQuery.
Dari Cloud Console, pilih Cloud Functions
Jika Anda melihat pesan API, klik tombol Enable API
Klik tombol Create function
Pada kolom Nama, ketik function-weatherPubSubToBQ. Untuk Pemicu, pilih topik Cloud Pub/Sub dan pada menu dropdown Topik, pilih data cuaca. Untuk kode sumber, pilih editor langsung. Di tab index.js, tempelkan kode berikut di atas kode awal. Pastikan untuk mengubah konstanta untuk projectId, datasetId, dan tableId agar sesuai dengan lingkungan Anda.
/**
* Background Cloud Function to be triggered by PubSub.
*
* @param {object} event The Cloud Functions event.
* @param {function} callback The callback function.
*/
exports.subscribe = function (event, callback) {
const BigQuery = require('@google-cloud/bigquery');
const projectId = "myProject"; //Enter your project ID here
const datasetId = "myDataset"; //Enter your BigQuery dataset name here
const tableId = "myTable"; //Enter your BigQuery table name here -- make sure it is setup correctly
const PubSubMessage = event.data;
// Incoming data is in JSON format
const incomingData = PubSubMessage.data ? Buffer.from(PubSubMessage.data, 'base64').toString() : "{'sensorID':'na','timecollected':'1/1/1970 00:00:00','zipcode':'00000','latitude':'0.0','longitude':'0.0','temperature':'-273','humidity':'-1','dewpoint':'-273','pressure':'0'}";
const jsonData = JSON.parse(incomingData);
var rows = [jsonData];
console.log(`Uploading data: ${JSON.stringify(rows)}`);
// Instantiates a client
const bigquery = BigQuery({
projectId: projectId
});
// Inserts data into a table
bigquery
.dataset(datasetId)
.table(tableId)
.insert(rows)
.then((foundErrors) => {
rows.forEach((row) => console.log('Inserted: ', row));
if (foundErrors && foundErrors.insertErrors != undefined) {
foundErrors.forEach((err) => {
console.log('Error: ', err);
})
}
})
.catch((err) => {
console.error('ERROR:', err);
});
// [END bigquery_insert_stream]
callback();
};
Di tab package.json, tempel kode berikut di atas kode placeholder yang ada
{
"name": "function-weatherPubSubToBQ",
"version": "0.0.1",
"private": true,
"license": "Apache-2.0",
"author": "Google Inc.",
"dependencies": {
"@google-cloud/bigquery": "^0.9.6"
}
}
Jika Function yang akan dieksekusi disetel ke "HelloWorld", ubah menjadi "subscribe". Klik tombol Buat
Perlu waktu sekitar 2 menit hingga fungsi menunjukkan bahwa fungsi telah di-deploy
Selamat! Anda baru saja menghubungkan Pub/Sub ke BigQuery melalui Functions.
6. Menyiapkan hardware IoT (opsional)
Merakit Raspberry Pi dan sensor
Jika ada lebih dari 7 pin, potong header menjadi hanya 7 pin. Pasang pin header ke papan sensor.
Pasang pin header palu dengan hati-hati ke dalam Raspberry Pi.
Format kartu SD dan instal penginstal NOOBS (New Out Of Box Software) dengan mengikuti langkah-langkah di sini. Masukkan kartu SD ke Raspberry Pi dan letakkan Raspberry Pi ke dalam casingnya.
Gunakan kabel papan tempat memotong roti untuk menghubungkan sensor ke Raspberry Pi sesuai dengan diagram di bawah.
Pin rasberi Pi | Koneksi sensor |
Pin 1 (3,3 V) | STNK |
Pin 3 (CPIO2) | SDI |
Pin 5 (GPIO3) | MENGGABUNGKAN |
Pin 9 (Darat) | GND |
Sambungkan monitor (menggunakan konektor mini-HDMI), keyboard/mouse (dengan hub USB), dan terakhir, adaptor daya.
Mengonfigurasi Raspberry Pi dan sensor
Setelah Raspberry Pi selesai {i>booting<i}, pilih Raspbian untuk sistem operasi yang diinginkan, pastikan bahasa yang Anda inginkan sudah benar dan kemudian klik {i>Install<i} (ikon {i>hard drive<i} di bagian kiri atas jendela).
Klik ikon Wifi (kanan atas layar) dan pilih jaringan. Jika jaringan aman, masukkan sandi (kunci yang dibagikan sebelumnya).
Klik ikon raspberry (kiri atas layar), pilih Preferences, lalu Raspberry Pi Configuration. Dari tab Interfaces, aktifkan I2C. Dari tab Pelokalan, setel Lokalitas dan Zona Waktu. Setelah menyetel Zona Waktu, biarkan Raspberry Pi memulai ulang.
Setelah {i>reboot<i} selesai, klik ikon Terminal untuk membuka jendela terminal.
Ketik perintah berikut untuk memastikan sensor terhubung dengan benar.
sudo i2cdetect -y 1
Hasilnya akan terlihat seperti ini – pastikan terbaca 77.
Menginstal Google Cloud SDK
Agar dapat memanfaatkan alat ini di platform Google Cloud, Google Cloud SDK harus diinstal di Raspberry Pi. SDK ini mencakup alat yang diperlukan untuk mengelola dan memanfaatkan Google Cloud Platform serta tersedia untuk beberapa bahasa pemrograman.
Buka jendela terminal di Raspberry Pi jika belum terbuka, lalu tetapkan variabel lingkungan yang akan mencocokkan versi SDK dengan sistem operasi di Raspberry Pi.
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
Sekarang tambahkan lokasi penyimpanan paket Google Cloud SDK sehingga alat penginstalan akan mengetahui tempat untuk mencarinya saat diminta untuk menginstal SDK.
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
Tambahkan kunci publik dari repositori paket Google sehingga Raspberry Pi akan memverifikasi keamanan dan memercayai konten selama penginstalan
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Pastikan semua software pada Raspberry Pi sudah yang terbaru dan instal Google Cloud SDK inti
sudo apt-get update && sudo apt-get install google-cloud-sdk
Saat muncul prompt "Do you want to continue?", tekan Enter.
Menginstal paket tendo menggunakan pengelola paket Python. Paket ini digunakan untuk memeriksa apakah suatu skrip berjalan lebih dari sekali dan sedang diinstal untuk aplikasinya ke skrip cuaca.
pip install tendo
Pastikan paket Google Cloud PubSub dan OAuth2 untuk Python sudah diinstal dan diperbarui menggunakan pengelola paket Python
sudo pip install --upgrade google-cloud-pubsub
sudo pip install --upgrade oauth2client
Menginisialisasi Google Cloud SDK
SDK memungkinkan akses jarak jauh yang diautentikasi ke Google Cloud. Untuk codelab ini, kode ini akan digunakan untuk mengakses bucket penyimpanan sehingga kunci keamanan dapat didownload dengan mudah ke Raspberry Pi.
Dari baris perintah di Raspberry Pi, masukkan
gcloud init --console-only
Saat muncul pertanyaan "Apakah Anda ingin login (Y/n)?", tekan Enter.
Saat Anda melihat "Buka link berikut di browser Anda" diikuti dengan URL panjang yang diawali dengan https://accounts.google.com/o/oauth?..., arahkan kursor ke URL dengan mouse, klik kanan, lalu pilih "Salin URL". Kemudian buka {i>browser <i}web (ikon bola dunia biru di sudut kiri atas layar), klik kanan pada bilah alamat dan klik "{i>Paste<i}/Tempel".
Setelah melihat layar Login, masukkan alamat email Anda yang terkait dengan akun Google Cloud, lalu tekan Enter. Kemudian masukkan kata sandi Anda dan klik tombol {i>Next<i}.
Anda akan ditanya bahwa Google Cloud SDK ingin mengakses Akun Google Anda. Klik tombol Allow.
Anda akan melihat kode verifikasi. Menggunakan {i>mouse<i}, sorot, lalu klik kanan dan pilih {i>Copy<i}. Kembali ke jendela terminal, pastikan kursor ada di sebelah kanan "Masukkan kode verifikasi:", klik kanan dengan mouse, lalu pilih Tempel. Tekan tombol Enter.
Jika Anda diminta untuk memilih "Choose cloud project to use:", masukkan angka yang sesuai dengan nama project yang telah Anda gunakan untuk codelab ini, lalu tekan Enter.
Jika Anda diminta untuk mengaktifkan Compute API, tekan tombol Enter untuk mengaktifkannya. Setelah itu, Anda akan diminta untuk mengonfigurasi setelan Google Compute Engine. Tekan Enter. Anda akan melihat daftar potensi wilayah/zona – pilih salah satu yang terdekat dengan Anda, masukkan nomor yang sesuai, lalu tekan Enter.
Beberapa saat lagi, Anda akan melihat beberapa informasi tambahan ditampilkan. Google Cloud SDK kini telah dikonfigurasi. Anda dapat menutup jendela {i>browser<i} web karena Anda tidak akan memerlukannya di masa mendatang.
Menginstal software sensor dan skrip cuaca
Dari command line di Raspberry Pi, clone paket yang diperlukan untuk membaca informasi dari pin input/output.
git clone https://github.com/adafruit/Adafruit_Python_GPIO
Instal paket yang didownload
cd Adafruit_Python_GPIO
sudo python setup.py install
cd ..
Buat clone kode project yang mengaktifkan sensor cuaca
git clone https://github.com/googlecodelabs/iot-data-pipeline
Salin driver sensor ke direktori yang sama dengan software yang didownload.
cd iot-data-pipeline/third_party/Adafruit_BME280
mv Adafruit_BME280.py ../..
cd ../..
Edit skrip dengan mengetik...
nano checkWeather.py
Ubah project menjadi Project ID dan topik menjadi nama topik Pub/Sub Anda (hal ini dibahas di bagian Memulai dan Membuat topik Pub/Sub di codelab ini).
Ubah nilai sensorID, sensorZipCode, sensorLat, dan sensorLong ke nilai apa pun yang Anda inginkan. Nilai Lintang dan Bujur untuk lokasi atau alamat tertentu dapat ditemukan di sini.
Setelah selesai melakukan perubahan yang diperlukan, tekan Ctrl-X untuk mulai keluar dari editor nano. Tekan Y untuk mengonfirmasi.
# constants - change to fit your project and location
SEND_INTERVAL = 10 #seconds
sensor = BME280(t_mode=BME280_OSAMPLE_8, p_mode=BME280_OSAMPLE_8, h_mode=BME280_OSAMPLE_8)
credentials = GoogleCredentials.get_application_default()
project="myProject" #change this to your Google Cloud project id
topic = "myTopic" #change this to your Google Cloud PubSub topic name
sensorID = "s-Googleplex"
sensorZipCode = "94043"
sensorLat = "37.421655"
sensorLong = "-122.085637"
Menginstal kunci keamanan
Salin kunci keamanan (dari bagian "Secure Publishing to a topic") ke Raspberry Pi.
Jika menggunakan SFTP atau SCP untuk menyalin kunci keamanan dari komputer lokal ke Raspberry Pi (ke direktori /home/pi), Anda dapat melewati langkah selanjutnya dan langsung mengekspor jalur.
Jika Anda menempatkan kunci keamanan ke dalam bucket penyimpanan, Anda harus mengingat nama bucket penyimpanan dan nama filenya. Gunakan perintah gsutil untuk menyalin kunci keamanan. Perintah ini dapat mengakses Google Storage (mengapa jalurnya diberi nama gsutil dan mengapa jalur ke file dimulai dengan gs://). Pastikan Anda mengubah perintah di bawah untuk mendapatkan nama bucket dan nama file.
gsutil cp gs://nameOfYourBucket/yourSecurityKeyFilename.json .
Anda akan melihat pesan bahwa file sedang disalin dan operasi telah selesai.
Dari command line di Raspberry Pi, ekspor jalur ke kunci keamanan (ubah nama file agar sesuai dengan yang Anda miliki)
export GOOGLE_APPLICATION_CREDENTIALS=/home/pi/iot-data-pipeline/yourSecurityKeyFilename.json
Anda kini memiliki sensor cuaca IoT yang sudah selesai dan siap mengirimkan data ke Google Cloud.
7. Memulai pipeline data
Mungkin perlu mengaktifkan Compute API
Streaming data dari Raspberry Pi
Jika Anda membuat sensor cuaca IoT Raspberry Pi, mulai skrip yang akan membaca data cuaca dan mengirimkannya ke Google Cloud Pub/Sub. Jika Anda tidak berada di direktori /home/pi/iot-data-pipeline, pindahkan ke sana terlebih dahulu
cd /home/pi/iot-data-pipeline
Mulai skrip cuaca
python checkWeather.py
Anda akan melihat jendela terminal menggemakan hasil data cuaca setiap menit. Dengan aliran data, Anda dapat langsung menuju ke bagian berikutnya (Periksa Apakah Data Mengalir).
Simulasi streaming data
Jika tidak membuat sensor cuaca IoT, Anda dapat menyimulasikan streaming data menggunakan set data publik yang telah disimpan di Google Cloud Storage dan memasukkannya ke topik Pub/Sub yang sudah ada. Google Dataflow beserta template yang disediakan Google akan digunakan untuk membaca dari Cloud Storage dan memublikasikan ke Pub/Sub.
Sebagai bagian dari proses, Dataflow akan memerlukan lokasi penyimpanan sementara, jadi mari kita buat bucket penyimpanan untuk tujuan ini.
Dari Konsol Cloud, pilih Storage, lalu Browser.
Klik tombol Create Bucket
Pilih nama untuk bucket penyimpanan (ingat, nama tersebut harus unik secara global di semua Google Cloud) lalu klik tombol Create. Ingat nama bucket penyimpanan ini karena akan segera diperlukan.
Dari Konsol Cloud, pilih Dataflow.
Klik Create Job from Template (bagian atas layar)
Isi detail pekerjaan seperti yang ditunjukkan di bawah ini dengan memperhatikan hal-hal berikut:
- Masukkan nama tugas dataflow-gcs-to-pubsub
- Region Anda harus memilih otomatis sesuai dengan tempat project Anda dihosting dan tidak perlu diubah.
- Pilih template Cloud Dataflow dari Teks GCS ke Cloud Pub/Sub
- Untuk File Input Cloud Storage, masukkan gs://codelab-iot-data-pipeline-sampleweatherdata/*.json (ini adalah set data publik)
- Untuk Topik Pub/Sub Output, jalur pasti akan bergantung pada nama project Anda dan akan terlihat seperti "projects/yourProjectName/topics/weatherdata"
- Tetapkan Lokasi Sementara ke nama bucket Google Cloud Storage yang baru saja Anda buat bersama dengan awalan nama file "tmp". Konfigurasinya akan terlihat seperti "gs://myStorageBucketName/tmp".
Setelah Anda mengisi semua informasi (lihat di bawah), klik tombol Run job
Tugas Dataflow akan mulai dijalankan.
Perlu waktu sekitar satu menit untuk menyelesaikan tugas Dataflow.
8. Memeriksa apakah data mengalir
Log Cloud Function
Memastikan Cloud Function dipicu oleh Pub/Sub
gcloud beta functions logs read function-weatherPubSubToBQ
Log akan menunjukkan bahwa fungsi sedang dieksekusi, data diterima, dan sedang dimasukkan ke dalam BigQuery
Data BigQuery
Periksa untuk memastikan bahwa data mengalir ke tabel BigQuery. Dari Konsol Cloud, buka BigQuery (bigquery.cloud.google.com).
Di bawah nama proyek (di sisi kiri jendela), klik {i>Dataset<i} (weatherData), lalu pada tabel (weatherDataTable), kemudian klik tombol Query Table
Tambahkan tanda bintang ke pernyataan SQL sehingga tertulis SELECT * FROM... seperti yang ditunjukkan di bawah ini dan kemudian klik tombol RUN QUERY
Jika diminta, klik tombol Run query
Jika Anda melihat hasilnya, berarti data mengalir dengan baik.
Dengan aliran data, Anda sekarang siap untuk membangun sebuah dasbor analitik.
9. Membuat dasbor Data Studio
Google Data Studio mengubah data Anda menjadi dasbor dan laporan informatif yang mudah dibaca, mudah dibagikan, dan dapat disesuaikan sepenuhnya.
Dari browser web, buka https://datastudio.google.com
Di bagian "Mulai laporan baru", klik Kosong, lalu klik tombol Mulai
Klik kotak centang untuk menyetujui persyaratan, klik tombol Berikutnya, pilih email yang ingin Anda terima dan klik tombol Selesai. Sekali lagi, di bagian "Mulai laporan baru", klik Kosong
Klik tombol Create New Data Source
Klik BigQuery, lalu tombol Authorize lalu pilih Akun Google yang ingin Anda gunakan dengan Data Studio (harus sama dengan akun yang telah Anda gunakan untuk codelab).
Klik tombol Izinkan
Pilih nama project, set data, dan tabel Anda. Kemudian klik tombol Hubungkan.
Ubah kolom jenis seperti yang ditunjukkan di bawah (semuanya harus berupa angka kecuali timecollected dan sensorID). Perhatikan bahwa timecollect ditetapkan ke Date Hour (dan bukan hanya Date). Ubah kolom Agregasi seperti yang ditunjukkan di bawah (titik embun, suhu, kelembapan, dan tekanan harus berupa rata-rata dan yang lainnya harus disetel ke "Tidak ada"). Klik tombol Buat Laporan.
Konfirmasi dengan mengklik tombol Tambahkan ke laporan
Jika diminta untuk memilih akun Google Anda, pilih akun Google Anda, lalu klik tombol Izinkan untuk mengizinkan Data Studio menyimpan laporannya di Google Drive.
Anda akan melihat kanvas kosong untuk membuat dasbor. Dari baris atas ikon, pilih Deret Waktu.
Gambarlah sebuah persegi panjang di sudut kiri atas lembar kosong tersebut. Kode ini akan menempati sekitar 1⁄4 dari total lembar kosong.
Di sisi kanan jendela, pilih tab {i>Style<i}. Ubah Data yang Tidak Ada dari "Baris ke Nol" menjadi "Baris Jeda". Di bagian Sumbu Y Kiri, hapus 0 dari Sumbu Min. untuk mengubahnya menjadi (Otomatis).
Klik grafik pada lembar dan salin/tempel (Ctrl-C/Ctrl-V) 3 kali. Sejajarkan grafik sehingga masing-masing memiliki 1⁄4 tata letak.
Klik pada setiap grafik dan di bagian Properti Deret Waktu dan Data, klik metrik yang ada (titik embun), pilih metrik yang berbeda untuk ditampilkan hingga keempat pembacaan cuaca (titik embun, suhu, kelembapan, dan tekanan) memiliki grafiknya sendiri.
Anda sekarang memiliki dasbor dasar!
10. Selamat!
Anda telah membuat seluruh pipeline data. Dengan demikian, Anda telah mempelajari cara menggunakan Google Pub/Sub, cara men-deploy Fungsi serverless, cara memanfaatkan BigQuery, dan cara membuat dasbor analisis menggunakan Data Studio. Selain itu, Anda telah melihat bagaimana Google Cloud SDK dapat digunakan dengan aman untuk memindahkan data ke Google Cloud Platform. Terakhir, Anda sekarang memiliki pengalaman langsung dengan pola arsitektur penting yang dapat menangani volume tinggi sekaligus mempertahankan ketersediaan.
Membersihkan
Setelah selesai bereksperimen dengan data cuaca dan pipeline analisis, Anda dapat menghapus resource yang sedang berjalan.
Jika Anda membuat sensor IoT, matikan. Tekan Ctrl-C di jendela terminal untuk menghentikan skrip dan kemudian ketik perintah berikut untuk mematikan Raspberry Pi
shutdown -h now
Buka Cloud Functions, klik kotak centang di samping function-weatherPubSubToBQ, lalu klik Delete
Buka Pub/Sub, klik Topik, klik kotak centang di samping topik data cuaca, lalu klik Hapus
Buka Storage, klik kotak centang di samping bucket penyimpanan, lalu klik Delete
Buka bigquery.cloud.google.com, klik panah bawah di sebelah nama proyek Anda, klik panah bawah di sebelah kanan {i>dataset<i} weatherData, lalu klik Delete dataset.
Saat diminta, ketik ID {i>dataset<i} (weatherData) untuk menyelesaikan penghapusan data.