Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Semi-structured data dalam Amazon Redshift
Dengan menggunakan dukungan data semi-terstruktur di Amazon Redshift, Anda dapat menyerap dan menyimpan data semi-terstruktur di gudang data Amazon Redshift Anda. Menggunakan tipe data SUPER dan bahasa PartiQL, Amazon Redshift memperluas kemampuan data warehouse untuk berintegrasi dengan sumber data SQL dan NoSQL. Dengan cara ini, Amazon Redshift memungkinkan analitik yang efisien pada data tersimpan relasional dan semi-terstruktur seperti JSON. Untuk informasi tentang integrasi Amazon Redshift dengan PartiQL, lihat. PartiQL — bahasa SQL-compatible query untuk Amazon Redshift
Amazon Redshift menawarkan dua bentuk dukungan data semi-terstruktur: tipe data SUPER dan Amazon Redshift Spectrum.
Anda dapat menanyakan data semi-terstruktur dengan menelannya ke Amazon Redshift dan menyimpannya dalam tipe data SUPER atau menggunakan Amazon Redshift Spectrum untuk menanyakan data yang disimpan di Amazon S3.
Praktik terbaik untuk bekerja dengan data semi-terstruktur
Pertimbangkan praktik terbaik berikut saat bekerja dengan data semi-terstruktur.
Kami menyarankan Anda mengatur opsi
enable_case_sensitive_super_attributekonfigurasi ke true saat bekerja dengan data SUPER. Untuk informasi selengkapnya, lihat enable_case_sensitive_super_atribut.Gunakan perintah COPY untuk memuat data dari bucket Amazon S3 ke kolom Amazon Redshift SUPER.
Gunakan pengetikan dinamis PartiQL dan semantik yang lemah untuk menjalankan kueri ad hoc pada nilai data SUPER tanpa harus memaksakan skema sebelum melakukan kueri. Untuk informasi tentang pengetikan dinamis, lihatPengetikan dinamis. Untuk informasi tentang semantik yang longgar, lihat. Semantik yang lemah
Rusak data tanpa skema dan semi-terstruktur ke dalam tampilan terwujud menggunakan PartiQL jika Anda berencana untuk sering menanyakan data. Saat Anda melakukan analitik pada data yang diparut, organisasi kolom tampilan terwujud Amazon Redshift memberikan kinerja yang lebih baik. Selain itu, pengguna dan alat intelijen bisnis (BI) yang memerlukan skema konvensional untuk data yang dicerna dapat menggunakan tampilan (baik terwujud atau virtual) sebagai presentasi skema konvensional dari data.
Setelah tampilan terwujud PartiQL Anda mengekstrak data yang ditemukan di JSON atau SUPER ke dalam tampilan terwujud kolom konvensional, Anda dapat menanyakan tampilan yang terwujud. Untuk informasi tentang pandangan yang terwujud, lihatTampilan yang terwujud di Amazon Redshift. Untuk informasi selengkapnya tentang cara kerja tipe data SUPER dengan tampilan yang terwujud, lihatJenis data SUPER dan tampilan yang terwujud.
Konsep untuk penggunaan tipe data SUPER
Berikut ini, Anda dapat menemukan beberapa konsep tipe data Amazon Redshift SUPER.
Memahami jenis data SUPER di Amazon Redshift — Tipe data SUPER adalah tipe data Amazon Redshift yang memungkinkan penyimpanan array dan struktur tanpa skema yang berisi skalar Amazon Redshift dan kemungkinan array dan struktur bersarang. Tipe data SUPER dapat secara native menyimpan berbagai format data semi-terstruktur, seperti JSON atau data yang berasal dari sumber berorientasi dokumen. Anda dapat menambahkan kolom SUPER baru untuk menyimpan data semi-terstruktur dan menulis kueri yang mengakses kolom SUPER, bersama dengan kolom skalar biasa. Untuk informasi selengkapnya tentang tipe data SUPER, lihatJenis SUPER.
Mengambil JSON tanpa skema ke dalam SUPER — Dengan tipe data SUPER semi-terstruktur yang fleksibel, Amazon Redshift dapat menerima dan menelan JSON tanpa skema ke dalam kolom dengan tipe data SUPER. Misalnya, Anda dapat memasukkan nilai JSON [10.5, “first”] ke dalam kolom tipe data SUPER dengan menggunakan perintah COPY. Kolom akan memiliki nilai SUPER[10.5, ‘first’]. Anda juga dapat menelan JSON menggunakanFungsi JSON_PARSE. Baik SALIN maupun men json_parse elan JSON menggunakan semantik penguraian yang ketat secara default. Anda juga dapat membangun nilai SUPER termasuk array dan struktur, menggunakan data database itu sendiri.
Kolom SUPER tidak memerlukan modifikasi skema saat menelan struktur fleksibel JSON tanpa skema. Misalnya, saat menganalisis aliran klik, Anda awalnya menyimpan di kolom SUPER struktur “klik” dengan atribut “IP” dan “waktu”. Anda dapat menambahkan atribut “id pelanggan” tanpa mengubah skema Anda untuk menerima perubahan tersebut.
Format asli yang digunakan untuk tipe data SUPER adalah format biner yang membutuhkan lebih sedikit ruang daripada nilai JSON dalam bentuk tekstualnya. Ini memungkinkan penyerapan dan pemrosesan runtime nilai SUPER yang lebih cepat pada kueri.
Kueri data SUPER dengan PartiQL — PartiQL adalah ekstensi yang kompatibel ke belakang dari SQL-92 yang digunakan banyak AWS layanan saat ini. Dengan penggunaan PartiQL, konstruksi SQL yang sudah dikenal dengan mulus menggabungkan akses ke data SQL tabular klasik dan data semi-terstruktur SUPER. Anda dapat melakukan navigasi objek dan array dan array unnest. PartiQL memperluas bahasa SQL standar untuk secara deklaratif mengekspresikan dan memproses data bersarang dan multinilai.
PartiQL adalah perpanjangan dari SQL di mana data bersarang dan tanpa skema dari kolom SUPER adalah warga kelas satu. PartiQL tidak memerlukan semua ekspresi kueri untuk diperiksa tipe selama waktu kompilasi kueri. Pendekatan ini memungkinkan ekspresi kueri yang berisi tipe data SUPER untuk diketik secara dinamis selama eksekusi kueri ketika jenis data aktual di dalam kolom SUPER diakses. Juga, PartiQL beroperasi dalam mode lemah di mana inkonsistensi tipe tidak menyebabkan kegagalan tetapi mengembalikan null. Kombinasi pemrosesan kueri tanpa skema dan lemah membuat PartiQL ideal untuk aplikasi ekstrak, muat, transformasi (ELT) di mana kueri SQL Anda mengevaluasi data JSON yang dicerna di kolom SUPER.
Untuk informasi selengkapnya tentang PartiQL untuk Amazon Redshift, lihat. PartiQL — bahasa SQL-compatible query untuk Amazon Redshift Untuk informasi tentang pengetikan dinamis, lihatPengetikan dinamis. Untuk informasi tentang pemrosesan kueri yang lemah, lihatSemantik yang lemah.
Integrasikan dengan Redshift Spectrum — Amazon Redshift mendukung beberapa aspek PartiQL saat menjalankan kueri Redshift Spectrum melalui JSON, Parquet, dan format lain yang memiliki data bersarang. Redshift Spectrum hanya mendukung data bersarang yang memiliki skema. Misalnya, dengan Redshift Spectrum Anda dapat menyatakan bahwa data JSON Anda memiliki atribut nested_schemaful_example dalam skemaARRAY<STRUCT<a:INTEGER, b:DECIMAL(5,2)>>. Skema atribut ini menentukan bahwa data selalu berisi array, yang berisi struktur dengan integer a dan desimal b. Jika data berubah untuk menyertakan lebih banyak atribut, jenisnya juga berubah. Sebaliknya, tipe data SUPER tidak memerlukan skema. Anda dapat menyimpan array dengan elemen struktur yang memiliki atribut atau tipe berbeda. Juga, nilai dapat disimpan di luar array.
Pertimbangan untuk menggunakan data tipe SUPER
Saat bekerja dengan data SUPER, pertimbangkan hal berikut:
Gunakan driver JDBC versi 2.x, driver ODBC versi 2.x, atau driver Amazon Redshift Python versi 2.0.872 atau yang lebih baru. Driver ODBC versi 1.x tidak didukung.
Untuk informasi tentang driver JDBC, lihat Mengon figurasi koneksi untuk driver JDBC versi 2.x untuk Amazon Redshift di Panduan Manajemen Amazon Redshift.
Untuk informasi tentang driver ODBC, lihat Mengon figurasi koneksi untuk driver ODBC versi 2.x untuk Amazon Redshift di Panduan Manajemen Amazon Redshift..
Untuk informasi tentang driver Python, lihat konektor Amazon Redshift Python di Panduan Manajemen Amazon Redshift..
Untuk informasi selengkapnya tentang konfigurasi SUPER, lihatKonfigurasi SUPER.