[go: up one dir, main page]


Analytics streaming sekarang menjadi bagian penting dari platform data, membantu bisnis mengumpulkan dan menganalisis data secara real time. Di Cloud Dataflow, kami telah memperhatikan beberapa tren dalam industri engineering data. Pertama, Python muncul sebagai salah satu pilihan paling populer untuk analis data, dan kedua, semakin banyak aplikasi yang didukung oleh analytics streaming. Dengan memperhatikan tren ini, kami gembira bisa mengumumkan ketersediaan umum Python 3 dan dukungan streaming untuk Python SDK.
Survei developer Stack Overflow tahun 2019 menemukan bahwa Python adalah bahasa pemrograman utama yang paling cepat berkembang, sementara survei JetBrains mengamati bahwa analisis data menjadi lebih populer daripada pengembangan web di kalangan pengguna Python. Untuk melayani komunitas yang berkembang pesat ini dengan lebih baik, para developer bahasa Python mengumumkan bahwa Python 2 akan dihentikan dukungannya pada tahun 2020. Konsorsium project open-source (termasuk Apache Beam, SDK open-source yang didukung oleh Cloud Dataflow) mengikutinya dengan berjanji menghentikan dukungan untuk Python 2 selambat-lambatnya pada tahun 2020.
Secara terpisah, analytics streaming menjadi standar untuk analytics data dan ML. Perusahaan paling inovatif memperbanyak analytics berbasis data mereka, membiarkan tim membuat keputusan strategis yang lebih baik dengan analytics berbasis event, yang meningkatkan kelincahan operasional. Analytics streaming memungkinkan Anda memanfaatkan kasus penggunaan seperti personalisasi, deteksi penipuan, aplikasi IoT, dan banyak lagi yang lain. Di Google Cloud Platform (GCP), tumpukan analytics streaming tanpa operasi yang kami kelola sepenuhnya hadir dalam bentuk Cloud Pub/Sub untuk penyerapan data dan Cloud Dataflow untuk pemrosesan data. (Pasangan ini baru saja ditunjuk sebagai pemimpin dalam Forrester Wave untuk Analytics Streaming, Kuartal ke-3 2019.)
Kami senang bisa menambahkan dukungan bagi Python 3 untuk membantu Anda yang masih berjalan di lingkungan yang akan segera tidak didukung. Dukungan ini berarti Anda bisa memanfaatkan fitur Python terbaru dan terbaik yang ditawarkan. Streaming Python akan memberi para engineer data seluruh rangkaian fitur streaming yang ditawarkan oleh Cloud Dataflow, yang meliputi:
  • Update: Kemampuan untuk mengupdate pipeline streaming Anda (seperti untuk meningkatkan atau memperbaiki bug dalam kode pipeline, atau menangani perubahan dalam format data)
  • Drain: Kemampuan untuk mengalirkan data Anda, yang mencegah hilangnya data saat menyelesaikan tugas streaming
  • Autoscaling: Kemampuan unik Cloud Dataflow memungkinkan Anda memilih jumlah instance worker yang tepat untuk menyelesaikan tugas, dan mengalokasikan kembali secara dinamis lebih banyak atau lebih sedikit pekerja untuk memperhitungkan perubahan pola traffic
  • Streaming Engine: Arsitektur streaming generasi berikutnya kami memungkinkan pengurangan sumber daya pekerja dan autoscaling yang lebih responsif
Memulai dengan Python 3 dan streaming Python Ikuti petunjuk dalam quickstart untuk membangun dan menjalankan pipeline pertama Anda. Saat menginstal Apache Beam SDK, pastikan untuk menginstal versi 2.16 . (atau lebih tinggi).
Baris Perintah: pip install apache-beam[gcp]
pip install apache-beam[gcp].png
Anda bisa menggunakan Apache Beam SDK dengan Python versi 3.5, 3.6, atau 3.7 jika Anda ingin bermigrasi dari lingkungan Python 2.x. Setelah penginstalan, Anda siap membuat pipeline streaming yang pertama!
Sesuai dengan tradisi big data, mari kita lihat contoh jumlah kata, kami akan menganalisis streaming datanya. Di sini, Anda bisa melihat cuplikan kode yang mengonsumsi streaming data teks dari Cloud Pub/Sub, menetapkan jendela tetap 15 detik, menghitung jumlah kata yang berbeda dalam setiap jendela 15 detik, dan kemudian menulis hasilnya ke Cloud Pub/Sub:
Cloud Pub:Sub.png
Buka bagian Cloud Dataflow di Cloud Console untuk melihat grafik tugas dan metrik terkait:
cloud dataflow console.png
Cobalah streaming Python di Cloud Dataflow. Pelajari lebih lanjut dalam Python Quickstart ini.

Oleh David Bieber, Software Engineer di Google Brain

Pertama kali ditulis di Blog Open Source Google


Hari ini kami gembira dapat mengumumkan Python Fire yang open source. Python Fire menghasilkan command line interface (CLI) dari setiap kode Python. Cukup panggil fungsi Fire dari setiap program Python untuk mengubah program ke dalam CLI secara otomatis. Library tersedia dari pypi lewat `pip install fire`, dan sumbernya tersedia di GitHub.

Python Fire akan otomatis mengubah kode Anda ke dalam CLI tanpa perlu melakukan pekerjaan tambahan apapun. Anda tidak perlu menentukan argumen, menyiapkan informasi bantuan, atau menulis fungsi utama yang menentukan cara kode dijalankan. Sebagai gantinya, cukup panggil fungsi `Fire` dari modul utama, dan Python Fire akan mengurus bagian selanjutnya. Python Fire menggunakan pemeriksaan untuk mengubah objek Python yang Anda berikan -- baik berupa kelas, objek, kamus, fungsi, maupun seluruh modul -- ke dalam command line interface, lengkap dengan penyelesaian dan dokumentasi tab, dan CLI akan tetap diperbarui meski kode berubah.

Untuk menggambarkan hal ini, perhatikan contoh sederhana ini.
#!/usr/bin/env python
import fire


class Example(object):
 def hello(self, name='world'):
   """Mengucapkan salam kepada nama tertentu."""
   return 'Halo {name}!'.format(name=name)


def main():
 fire.Fire(Example)


if __name__ == '__main__':
 main()


Ketika fungsi Fire dijalankan, perintah kita akan dieksekusi. Hanya dengan memanggil Fire, kita dapat menggunakan Example class seakan-akan sebuah command line utility.

$ ./example.py hello
Halo dunia!
$ ./example.py halo David
Halo David!
$ ./example.py hello --name=Google
Halo Google!



Tentu saja, Anda dapat melanjutkan menggunakan modul seperti library Python pada umumnya, memungkinkan Anda menggunakan kode yang sama persis baik dari Bash dan Python. Jika Anda menulis library Python, lalu Anda tidak perlu lagi memperbarui metode atau client ketika bereksperimen dengannya; sebaliknya cukup jalankan potongan library yang sedang Anda lakukan eksperimen dari command line. Meskipun ketika library berubah, alat (bantu) command line akan tetap diperbarui.

Di Google, para teknisi menggunakan Python Fire untuk menghasilkan alat (bantu) command line dari library Python. Kami memiliki alat (bantu) manipulasi gambar dibangun dengan menggunakan Fire serta Python Imaging Library, PIL. Di Google Brain, kami menggunakan alat (bantu) manajemen eksperimen dibangun dengan Fire, memungkinkan kami mengelola eksperimen sama baiknya dari Python atau dari Bash.

Setiap CLI Fire muncul dengan mode interaktif. Jalankan CLI dengan flag `--interactive` untuk meluncurkan IPython REPL dengan hasil perintah Anda, serta variabel berguna lainnya yang telah ditetapkan dan siap digunakan. Pastikan untuk memeriksa dokumentasi Python Fire untuk mengetahui lebih lanjut tentang hal ini dan fitur Fire lainnya yang berguna.

Diantara kemudahan, keumuman, dan kemampuan Python Fire, kami berharap Anda menemukan library yang berguna untuk proyek Anda sendiri.