JSONfunzioni - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

JSONfunzioni

Nota

Ti consigliamo di utilizzare le seguenti funzioni per lavorare conJSON:

Con JSON _PARSE, è sufficiente convertire il JSON testo in un valore SUPER di tipo una sola volta al momento dell'inserimento, dopodiché è possibile operare sui SUPER valori. Amazon Redshift analizza i SUPER valori in modo più efficiente rispetto all'VARCHARoutput per le funzioni basate su testo. JSON Per ulteriori informazioni sull'utilizzo del tipo di SUPER dati, consulta. Importazione e query di dati semistrutturati in Amazon Redshift

Quando è necessario memorizzare un insieme relativamente piccolo di coppie chiave-valore, è possibile risparmiare spazio archiviando i dati in JSON formato. Poiché JSON le stringhe possono essere memorizzate in una singola colonna, l'utilizzo JSON potrebbe essere più efficiente rispetto all'archiviazione dei dati in formato tabulare. Ad esempio, supponiamo di avere una tabella sparsa, in cui sono necessarie molte colonne per rappresentare appieno tutti gli attributi possibili, ma la maggior parte dei valori delle colonne si NULL riferisce a una determinata riga o a una determinata colonna. Utilizzando JSON for storage, potresti essere in grado di memorizzare i dati di una riga in coppie chiave:valore in un'unica JSON stringa ed eliminare le colonne della tabella scarsamente popolate.

Inoltre, è possibile modificare facilmente le JSON stringhe per memorizzare coppie chiave:valore aggiuntive quando JSON lo schema cambia senza dover aggiungere colonne a una tabella.

Si consiglia di utilizzare con parsimonia. JSON JSONnon è una buona scelta per archiviare set di dati di grandi dimensioni perché, archiviando dati diversi in un'unica colonna, JSON non utilizza l'architettura di Amazon Redshift Column Store. Sebbene Amazon Redshift supporti JSON funzioni su CHAR e VARCHAR colonne, ne consigliamo l'utilizzo SUPER per l'elaborazione dei dati in formato di JSON serializzazione. SUPERutilizza una rappresentazione senza schemi post-analisi in grado di interrogare in modo efficiente i dati gerarchici. Per ulteriori informazioni sul tipo di dati, vedere. SUPER Importazione e query di dati semistrutturati in Amazon Redshift

JSONutilizza UTF -8 stringhe di testo codificate, in modo che le JSON stringhe possano essere memorizzate come CHAR tipi di dati. VARCHAR

JSONle stringhe devono essere formattate correttamenteJSON, secondo le seguenti regole:

  • Il livello principale JSON può essere un JSON oggetto o un JSON array. Un JSON oggetto è un insieme non ordinato di coppie chiave:valore separate da virgole racchiuse tra parentesi graffe.

    Ad esempio, {"one":1, "two":2} .

  • Un JSON array è un insieme ordinato di valori separati da virgole racchiusi tra parentesi.

    Un esempio è quanto segue: ["first", {"one":1}, "second", 3, null]

  • JSONgli array utilizzano un indice a base zero; il primo elemento di un array si trova nella posizione 0. In una coppia JSON chiave:valore, la chiave è una stringa tra virgolette doppie.

  • Un JSON valore può essere uno dei seguenti:

    • JSONoggetto

    • array

    • string

      • Rappresentato con virgolette doppie

    • number

      • Include numeri interi, decimali e float

    • booleano

    • null

  • Gli oggetti vuoti e gli array vuoti sono valori validi. JSON

  • JSONi campi distinguono tra maiuscole e minuscole.

  • Lo spazio bianco tra gli elementi JSON strutturali (ad esempio{ }, [ ]) viene ignorato.

Le JSON funzioni di Amazon Redshift e il comando Amazon COPY Redshift utilizzano gli stessi metodi per lavorare JSON con dati formattati. Per ulteriori informazioni sull'utilizzo di, consulta JSON COPYdal formato JSON