Data semi-terstruktur di Amazon Redshift - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai 1 November 2025. Jika Anda ingin menggunakan Python UDFs, buat UDFs sebelum tanggal tersebut. Python yang ada UDFs akan terus berfungsi seperti biasa. Untuk informasi lebih lanjut, lihat posting blog.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Data semi-terstruktur di Amazon Redshift

Dengan menggunakan dukungan data semi-terstruktur di Amazon Redshift, Anda dapat menyerap dan menyimpan data semi-terstruktur di gudang data Amazon Redshift. Menggunakan tipe data SUPER dan bahasa PartiQL, Amazon Redshift memperluas kemampuan gudang data untuk berintegrasi dengan sumber data SQL dan NoSQL. Dengan cara ini, Amazon Redshift memungkinkan analisis yang efisien pada data tersimpan relasional dan semi-terstruktur seperti JSON. Untuk informasi tentang integrasi Amazon Redshift dengan PartiQL, lihat. PartiQL — bahasa kueri yang kompatibel dengan SQL untuk Amazon Redshift

Amazon Redshift menawarkan dua bentuk dukungan data semi-terstruktur: tipe data SUPER dan Amazon Redshift Spectrum.

Anda dapat melakukan kueri data semi-terstruktur dengan memasukkannya 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_attribute dan enable_case_sensitive_identifier konfigurasi ke true saat bekerja dengan data SUPER. Untuk informasi selengkapnya, lihat enable_case_sensitive_super_attribute dan enable_case_sensitive_identifier.

  • Gunakan perintah COPY untuk memuat data dari bucket Amazon S3 ke kolom Amazon Redshift SUPER.

  • Gunakan pengetikan dinamis PartiQL dan semantik longgar 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 longgar, lihat. Semantik longgar

  • Rusak data tanpa skema dan semi-terstruktur menjadi tampilan terwujud menggunakan PartiQL jika Anda berencana untuk sering melakukan kueri data. Saat Anda melakukan analitik pada data yang diparut, organisasi kolumnar 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 penyajian skema konvensional dari data.

    Setelah tampilan terwujud PartiQL Anda mengekstrak data yang ditemukan di JSON atau SUPER ke dalam tampilan materialisasi kolumnar konvensional, Anda dapat menanyakan tampilan yang terwujud. Untuk informasi tentang tampilan terwujud, lihatTampilan terwujud di Amazon Redshift. Untuk informasi selengkapnya tentang cara kerja tipe data SUPER dengan tampilan terwujud, lihatTipe data SUPER dan tampilan terwujud.

Konsep untuk penggunaan tipe data SUPER

Berikut ini, Anda dapat menemukan beberapa konsep tipe data Amazon Redshift SUPER.

Pahami tipe 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 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, lihatTipe SUPER.

Menyerap skema JSON ke dalam SUPER - Dengan tipe data SUPER semi-terstruktur yang fleksibel, Amazon Redshift dapat menerima dan menyerap JSON tanpa skema ke dalam kolom dengan tipe data SUPER. Misalnya, Anda dapat menelan nilai JSON [10.5, “first”] ke dalam kolom tipe data SUPER dengan menggunakan perintah COPY. Kolom akan menyimpan nilai SUPER dari[10.5, ‘first’]. Anda juga dapat menelan JSON menggunakan. Fungsi JSON_PARSE Baik COPY dan json_parse ingest JSON menggunakan semantik parsing 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 struktur “klik” kolom SUPER dengan atribut “IP” dan “waktu”. Anda dapat menambahkan atribut “id pelanggan” tanpa mengubah skema Anda untuk menyerap 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 konsumsi lebih cepat dan pemrosesan runtime nilai SUPER pada kueri.

Kueri data SUPER dengan PartiQL — PartiQL adalah ekstensi SQL-92 yang kompatibel ke belakang yang digunakan banyak layanan saat ini. AWS 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 mengekspresikan dan memproses data bersarang dan multivaluasi secara deklaratif.

PartiQL adalah perpanjangan dari SQL di mana data bersarang dan tanpa skema 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 tipe aktual data di dalam kolom SUPER diakses. Juga, PartiQL beroperasi dalam mode longgar di mana inkonsistensi tipe tidak menyebabkan kegagalan tetapi mengembalikan null. Kombinasi pemrosesan kueri tanpa skema dan longgar membuat PartiQL ideal untuk aplikasi ekstrak, muat, transformasi (ELT) tempat kueri SQL Anda mengevaluasi data JSON yang dicerna di kolom SUPER.

Untuk informasi lebih lanjut tentang PartiQL untuk Amazon Redshift, lihat. PartiQL — bahasa kueri yang kompatibel dengan SQL untuk Amazon Redshift Untuk informasi tentang pengetikan dinamis, lihatPengetikan dinamis. Untuk informasi tentang pemrosesan kueri yang lemah, lihatSemantik longgar.

Integrasikan dengan Redshift Spectrum — Amazon Redshift mendukung berbagai aspek PartiQL saat menjalankan kueri Redshift Spectrum melalui JSON, Parket, 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 dalam skema. nested_schemaful_example ARRAY<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 yang berbeda. Juga, nilai dapat disimpan di luar array.

Pertimbangan untuk menggunakan data tipe SUPER

Saat bekerja dengan data SUPER, pertimbangkan hal berikut:

Untuk informasi selengkapnya tentang konfigurasi SUPER, lihatKonfigurasi SUPER.