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à.
Dati semistrutturati in Amazon Redshift
Usando il supporto di dati semistrutturati in Amazon Redshift, è possibile importare ed archiviare dati semistrutturati nei data warehouse di Amazon Redshift. Utilizzando il tipo di SUPER dati e il linguaggio PartiQL, Amazon Redshift espande la capacità di data warehouse per integrarsi con SQL entrambe le fonti di dati e No. SQL In questo modo, Amazon Redshift consente analisi efficienti su dati relazionali e semistrutturati archiviati come. JSON
Amazon Redshift offre due forme di supporto per dati semistrutturati: il tipo di dati e Amazon Redshift SUPER Spectrum.
Utilizza il tipo di SUPER dati se devi inserire o aggiornare piccoli batch di dati con bassa latenzaJSON. Inoltre, può essere utilizzato SUPER quando la query richiede una forte coerenza, prestazioni di query prevedibili, supporto per query complesse e facilità d'uso con schemi in evoluzione e dati privi di schema.
Al contrario, usa Amazon Redshift Spectrum con un formato di file aperto se la tua query sui dati richiede l'integrazione con AWS altri servizi e con dati archiviati principalmente in Amazon S3 per scopi di archiviazione.
Casi d'uso per il tipo di dati SUPER
Il supporto di dati semistrutturati che utilizza il tipo di SUPER dati in Amazon Redshift offre prestazioni, flessibilità e facilità d'uso superiori. I seguenti casi d'uso aiutano a dimostrare come utilizzare il supporto per dati semistrutturati con. SUPER
Inserimento rapido e flessibile dei JSON dati: Amazon Redshift supporta transazioni rapide in grado di JSON analizzarli e archiviarli come valore. SUPER Le transazioni di inserimento possono funzionare fino a cinque volte più velocemente rispetto all'esecuzione degli stessi inserimenti in tabelle che hanno suddiviso gli attributi in colonne convenzionali. SUPER Ad esempio, supponiamo che il formato in entrata JSON sia {«a»:.., «b»:.., «c» «...,...}. È possibile accelerare le prestazioni di inserimento molte volte memorizzando i dati JSON in entrata in una tabella TJ con una singola SUPER colonna S, invece di memorizzarli in una tabella TR convenzionale con le colonne» a', 'b', «c'e così via. Quando sono presenti centinaia di attributiJSON, il vantaggio in termini di prestazioni del tipo di SUPER dati diventa sostanziale.
Inoltre, il tipo di SUPER dati non richiede uno schema regolare. Non è necessario esaminare e ripulire i dati in entrata JSON prima di archiviarli. Ad esempio, supponiamo che un oggetto in entrata JSON abbia un attributo di stringa «c» e altri che abbiano un attributo «c» intero, senza il tipo di dati. SUPER In questo caso, è necessario separare le colonne c_string e c_int o pulire i dati. Al contrario, con il tipo di SUPER dati, tutti i JSON dati vengono archiviati durante l'ingestione senza perdita di informazioni. Successivamente, è possibile utilizzare l'estensione PartiQL di SQL per analizzare le informazioni.
Interrogazioni flessibili per l'individuazione: dopo aver archiviato i dati semistrutturati (ad esempioJSON) in un valore di SUPER dati, è possibile interrogarli senza imporre uno schema. È possibile utilizzare la tipizzazione dinamica PartiQL e la sintassi permissiva per eseguire le query e scoprire i dati profondamente annidati necessari, senza la necessità di imporre uno schema prima della query.
Query flessibili per operazioni di estrazione, caricamento, trasformazione (ETL) in viste materializzate convenzionali: dopo aver archiviato i dati senza schema e semistrutturati in, SUPER puoi utilizzare le viste materializzate PartiQL per analizzare i dati e suddividerli in viste materializzate.
Le viste materializzate con i dati ridotti sono un buon esempio di vantaggi in termini di prestazioni e usabilità per i casi di analisi classici. Quando si esegue un'analisi sui dati ridotti, l'organizzazione a colonne delle viste materializzate di Amazon Redshift offre prestazioni migliori. Inoltre, gli utenti e gli strumenti di Business Intelligence (BI) che richiedono uno schema convenzionale per i dati importati possono utilizzare viste (materializzate o virtuali) come presentazione convenzionale dello schema dei dati.
Dopo che le viste materializzate PartiQL hanno estratto i dati trovati in JSON o SUPER in viste materializzate colonnari convenzionali, è possibile interrogare le viste materializzate. Per ulteriori informazioni su come il tipo di SUPER dati funziona con le viste materializzate, consulta. SUPERtipo di dati e viste materializzate
È possibile applicare politiche di mascheramento dinamico dei dati ai scalar
valori sui percorsi delle colonne di SUPER tipo. Per ulteriori informazioni sul mascheramento dei dati dinamici, consulta Mascheramento dinamico dei dati. Per informazioni sull'utilizzo del mascheramento dinamico dei dati con il tipo di SUPER dati, vedere. Utilizzo del mascheramento dinamico dei dati con percorsi dei tipi di SUPER dati (anteprima)
Per informazioni sul tipo di SUPER dati, vedereSUPERtipo.
Per esempi di utilizzo del tipo di SUPER dati, consulta le sottosezioni di questo argomento, iniziando conSUPERset di dati di esempio.
Concetti per l'uso SUPER dei tipi di dati
Di seguito, puoi trovare alcuni concetti relativi ai tipi di SUPER dati di Amazon Redshift.
Scopri qual è il tipo di SUPER dati in Amazon Redshift: il tipo di SUPERdati è un tipo di dati Amazon Redshift che consente lo storage di array e strutture senza schema che contengono scalari Amazon Redshift e possibilmente array e strutture annidate. Il tipo di SUPER dati può archiviare nativamente diversi formati di dati semistrutturati, ad esempio dati provenienti da fonti orientate ai documenti. JSON È possibile aggiungere una nuova SUPER colonna per archiviare dati semistrutturati e scrivere query che accedono alla colonna, oltre alle solite colonne scalari. SUPER Per ulteriori informazioni sul tipo di SUPER dati, vedere. SUPERtipo
Inserisci schemi JSON inSUPER: con il tipo di dati semistrutturato flessibileSUPER, Amazon Redshift può ricevere e inserire schemi senza schemi in un valore. JSON SUPER Ad esempio, Amazon Redshift può inserire il JSON valore [10.5, «first"] in un SUPER valore [10.5, 'first'], ovvero un array contenente Amazon Redshift decimal 10.5 e varchar 'first'. Amazon Redshift può JSON inserirli in un SUPER valore utilizzando il COPY comando o la funzione di analisi, ad esempio JSON json_parse ('[10.5, «first"]'). Entrambi COPY e json_parse
acquisiscono utilizzando una semantica di analisi rigorosa per impostazione predefinita. JSON È inoltre possibile creare SUPER valori tra cui matrici e strutture, utilizzando gli stessi dati del database.
La SUPER colonna non richiede modifiche allo schema durante l'assimilazione delle strutture irregolari di schemaless. JSON Ad esempio, durante l'analisi di un click-stream, inizialmente nella SUPER colonna vengono memorizzate strutture «click» con gli attributi «IP» e «time». È possibile aggiungere un attributo "customer id" senza modificare lo schema al fine di importare tali modifiche.
Il formato nativo utilizzato per il tipo di SUPER dati è un formato binario che richiede meno spazio rispetto al JSON valore in forma testuale. Ciò consente un'acquisizione e un'elaborazione in fase di esecuzione più rapide dei valori durante l'interrogazioneSUPER.
Interroga SUPER i dati con PartiQL: PartiQL è un'estensione retrocompatibile di SQL -92 utilizzata attualmente da molti servizi. AWS Con l'uso di PartiQL, SQL i costrutti familiari combinano perfettamente l'accesso sia ai dati tabulari classici che ai SQL dati semistrutturati di. SUPER È possibile eseguire la navigazione di oggetti e array e annullare la nidificazione degli array. PartiQL estende il SQL linguaggio standard per esprimere ed elaborare in modo dichiarativo dati annidati e multivalore.
PartiQL è un'estensione della situazione SQL in cui i dati annidati e privi di schema delle colonne sono cittadini di SUPER prima classe. PartiQL non richiede che tutte le espressioni di query vengano controllate dal tipo durante il tempo di compilazione della query. Questo approccio consente di digitare dinamicamente le espressioni di query che contengono il tipo di SUPER dati durante l'esecuzione della query quando si accede ai tipi effettivi di dati all'interno delle colonne. SUPER Inoltre, PartiQL opera in una modalità permissiva in cui le incongruenze di tipo non causano errori ma restituiscono null. La combinazione di elaborazione delle query senza schema e lassista rende PartiQL ideale per applicazioni di estrazione, caricamento, trasferimento (ELT) in cui la SQL query valuta i JSON dati che vengono inseriti nelle colonne. SUPER
Integrazione con Redshift Spectrum: Amazon Redshift supporta diversi aspetti di PartiQL durante l'esecuzione di query Redshift Spectrum JSON su, Parquet e altri formati con dati annidati. Redshift Spectrum supporta solo i dati nidificati con schemi. Ad esempio, con Redshift Spectrum puoi dichiarare che JSON i tuoi dati hanno un attributo nested_schemaful_example in uno schema ARRAY< STRUCT <a:, b: (5,2) >>. INTEGER DECIMAL Lo schema di questo attributo determina che i dati contengono sempre un array che a sua volta contiene una struttura con numero intero a e decimale b. Se i dati vengono modificati in modo da includere più attributi, viene modificato anche il tipo. SUPERAl contrario, il tipo di dati non richiede uno schema. È possibile memorizzare array con elementi della struttura che hanno attributi o tipi diversi. Inoltre, alcuni valori possono essere archiviati all'esterno degli array.
Per informazioni sulle funzioni che supportano il tipo di SUPER dati, consulta quanto segue:
Considerazioni sui dati SUPER
Quando lavori con SUPER i dati, considera quanto segue:
Usa la versione del JDBC driver 1.2.50, la versione del ODBC driver 1.4.17 o successiva e il driver Amazon Redshift Python versione 2.0.872 o successiva.
Per informazioni sui driver, consulta Configurazione di una connessione. JDBC JDBC
Per informazioni sui ODBC driver, vedere Configurazione di una ODBC connessione.
Esempi di schema utilizzati nei seguenti argomenti sono disponibili in SUPERset di dati di esempio.
Tutti gli esempi di SQL codice utilizzati nei seguenti argomenti sono inclusi con lo stesso prefisso S3 per il download. Questi includono il linguaggio di definizione dei dati (DDL) e COPY le istruzioni, nonché alcune query modificate TPC con -H che funzionano con. SUPER
Per visualizzare o scaricare i SQL file, effettuate una delle seguenti operazioni:
Scaricate il SQLfile del SUPER tutorial e il file TPC
-H . Utilizzando Amazon S3CLI, esegui il comando seguente. È possibile utilizzare il proprio percorso di destinazione.
aws s3 cp s3://redshift-downloads/semistructured/tutorialscripts/semistructured-tutorial.sql /target/path aws s3 cp s3://redshift-downloads/semistructured/tutorialscripts/super_tpch_queries.sql /target/path
Per ulteriori informazioni sulle SUPER configurazioni, consulta. SUPERconfigurazioni