JSONfungsi - Amazon Redshift

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

JSONfungsi

catatan

Kami menyarankan Anda menggunakan fungsi-fungsi berikut untuk bekerja denganJSON:

Dengan JSON _PARSE, Anda hanya perlu mengonversi JSON teks ke nilai SUPER tipe sekali saat konsumsi, setelah itu Anda dapat mengoperasikan nilainya. SUPER Amazon Redshift mem-parsing SUPER nilai lebih efisien daripadaVARCHAR, yang merupakan output untuk fungsi berbasis teks. JSON Untuk informasi lebih lanjut tentang bekerja dengan tipe SUPER data, bukaMenyerap dan menanyakan data semi-terstruktur di Amazon Redshift.

Ketika Anda perlu menyimpan kumpulan pasangan kunci-nilai yang relatif kecil, Anda dapat menghemat ruang dengan menyimpan data dalam JSON format. Karena JSON string dapat disimpan dalam satu kolom, penggunaan JSON mungkin lebih efisien daripada menyimpan data Anda dalam format tabel. Misalnya, Anda memiliki tabel jarang, di mana Anda harus memiliki banyak kolom untuk sepenuhnya mewakili semua atribut yang mungkin, tetapi sebagian besar nilai kolom adalah NULL untuk setiap baris tertentu atau kolom tertentu. Dengan menggunakan JSON for storage, Anda mungkin dapat menyimpan data untuk baris dalam pasangan key:value dalam satu JSON string dan menghilangkan kolom tabel yang jarang penduduknya.

Selain itu, Anda dapat dengan mudah memodifikasi JSON string untuk menyimpan pasangan key:value tambahan saat JSON skema Anda berubah tanpa perlu menambahkan kolom ke tabel.

Kami merekomendasikan penggunaan JSON hemat. JSONbukanlah pilihan yang baik untuk menyimpan kumpulan data yang lebih besar karena, dengan menyimpan data yang berbeda dalam satu kolom, JSON tidak menggunakan arsitektur penyimpanan kolom Amazon Redshift. Meskipun Amazon Redshift mendukung JSON fungsi over CHAR dan VARCHAR kolom, sebaiknya gunakan SUPER untuk memproses data dalam format JSON serialisasi. SUPERmenggunakan representasi tanpa skema pasca-parse yang dapat secara efisien menanyakan data hierarkis. Untuk informasi selengkapnya tentang tipe SUPER data, lihatMenyerap dan menanyakan data semi-terstruktur di Amazon Redshift.

JSONmenggunakan UTF -8 string teks yang dikodekan, sehingga JSON string dapat disimpan sebagai atau tipe data. CHAR VARCHAR

JSONstring harus diformat dengan benarJSON, sesuai dengan aturan berikut:

  • Tingkat root JSON dapat berupa JSON objek atau JSON array. JSONObjek adalah kumpulan pasangan kunci:nilai yang dipisahkan koma yang tidak berurutan yang diapit oleh kurawal kurawal.

    Sebagai contoh, {"one":1, "two":2} .

  • JSONArray adalah sekumpulan nilai yang dipisahkan koma yang diurutkan yang diapit oleh tanda kurung.

    Contohnya adalah sebagai berikut: ["first", {"one":1}, "second", 3, null]

  • JSONarray menggunakan indeks berbasis nol; elemen pertama dalam array adalah pada posisi 0. Dalam pasangan JSON kunci:value, kuncinya adalah string dalam tanda kutip ganda.

  • JSONNilai dapat berupa salah satu dari yang berikut:

    • JSONobjek

    • array

    • string

      • Diwakili menggunakan tanda kutip ganda

    • number

      • Termasuk bilangan bulat, desimal, dan float

    • boolean

    • null

  • Objek kosong dan array kosong adalah JSON nilai yang valid.

  • JSONbidang peka huruf besar/kecil.

  • Ruang putih antara elemen JSON struktural (seperti{ }, [ ]) diabaikan.

JSONFungsi Amazon Redshift dan perintah Amazon COPY Redshift menggunakan metode yang sama untuk bekerja JSON dengan data yang diformat. Untuk informasi selengkapnya tentang bekerja denganJSON, lihat COPYdari JSON format