Passa al contenuto principale
Prodotto

Acquisisci dati semi-strutturati in modo più rapido ed efficiente con Variant - Ora disponibile a livello generale

Grazie a Predictive Optimization, Databricks consente agli utenti di acquisire dati semi-strutturati in modo flessibile, mantenendo al contempo prestazioni di query simili a quelle dei dati strutturati per letture fino a 30 volte più veloci

di Jonathan Brito, Gene Pang e Harsh Motwani

  • Ora disponibile a livello generale, Variant consente ai team di ottenere le prestazioni dei dati strutturati sui dati semi-strutturati per letture fino a 30 volte più veloci
  • Variant gestisce in modo trasparente le modifiche impreviste dello schema, consentendo ai team di acquisire dati semi-strutturati senza dover aggiornare le pipeline
  • Variant è ampiamente integrato nella piattaforma Databricks, sia per i dati (Auto Loader, Spark Declarative Pipelines) sia per i carichi di lavoro AI (Agent Bricks, AI Functions)

Per anni, l'acquisizione di dati semi-strutturati come JSON, XML o CSV ha comportato un difficile compromesso. I team di dati potevano creare pipeline ETL per schematizzare i dati per query rapide sacrificando la flessibilità, oppure memorizzare i dati come stringhe per rimanere flessibili, pagando però il prezzo di prestazioni di query lente. Per risolvere questo compromesso, abbiamo collaborato con le community di Delta e Spark per introdurre il tipo di dati Variant e lo abbiamo portato alle community Parquet e Iceberg per unificare il lakehouse come un unico standard aperto per i dati semi-strutturati.

Siamo entusiasti di annunciare che Variant è ora disponibile a livello generale in Databricks. Questo lancio include Variant Shredding, anch'esso disponibile a livello generale, un'ottimizzazione delle prestazioni che utilizza Predictive Optimization per migliorare automaticamente le prestazioni delle query sui dati Variant. Con Variant, i team possono acquisire in modo flessibile dati semi-strutturati senza compromettere le prestazioni delle query a valle.

Acquisizione flessibile su vasta scala

Oltre 5.000 team scrivono in formato Variant utilizzando Databricks. Questi team utilizzano comunemente Variant per acquisire eventi da sorgenti di streaming come Kinesis o Event Hub, payload JSON da API e dati senza schema da database come PostgreSQL e MongoDB.

Variant è particolarmente utile per gestire le modifiche dello schema dalle sorgenti di acquisizione. Ad esempio, un'applicazione a monte potrebbe modificare i suoi tipi di API. Questo costringe i team a valle a correre ai ripari per aggiornare le pipeline pertinenti, eseguire il backfill dei dati esistenti e gestire il passaggio al nuovo sistema. Inoltre, la maggior parte delle aziende dispone di piattaforme dati e team di applicazione separati, il che rende imprevedibili queste modifiche dello schema. Con Variant, gli utenti possono acquisire tutti i loro dati semi-strutturati in modo flessibile nelle loro tabelle.

image3.png

Variant elimina i costi iniziali associati all'uso di dati semi-strutturati. La creazione di pipeline per schematizzare i dati richiede tempo, costringendo i data engineer a giustificare il tempo investito. Variant inverte il paradigma: i team possono caricare i dati senza alcuno sforzo e solo successivamente determinarne l'utilità per il resto dell'azienda.

Query più veloci e intelligenti con Predictive Optimization

Gli utenti di Databricks eseguono oltre 500 milioni di query Variant al mese su più di 160 TB di dati Variant. Databricks rende la lettura di Variant veloce quanto la lettura di dati schematizzati su tabelle gestite. Utilizzando lo Shredding, Variant memorizza i campi comuni come colonne nei file Parquet sottostanti. Predictive Optimization si addestra sul carico di lavoro e sui pattern di query specifici dell'utente e, utilizzando il machine learning, identifica i campi sottoposti a shredding più critici e raccoglie statistiche su di essi per migliorare il file skipping. Di conseguenza, Databricks scansiona solo i file e le colonne necessari per una query, evitando lavoro non necessario e migliorando le prestazioni.

Lo shredding di Variant offre letture quasi 4 volte più veloci rispetto a Variant senza shredding e letture 30 volte più veloci rispetto alla memorizzazione di JSON come stringa:

image2.png

Con Variant, Databricks offre prestazioni fulminee su vasta scala:

Dobbiamo eseguire query su log di sicurezza che non sono semplici record piatti, ma strutture JSON complesse difficili da ricercare in modo efficiente. Il supporto di Variant in Databricks, combinato con lo shredding, consente di eseguire query ad alte prestazioni su attributi profondamente annidati, persino su scala petabyte

Panther

— Russell Leighton, Chief Architect

Utilizzo di Variant in Databricks

Con Databricks, puoi utilizzare Variant nell'intero stack di dati.

I nostri utenti utilizzano comunemente due strumenti per acquisire dati semi-strutturati come Variant:

  1. Auto Loader, una sorgente per elaborare in modo incrementale file semi-strutturati dall'object storage
  1. Zerobus, un servizio di acquisizione completamente gestito per scrivere direttamente nelle tabelle senza utilizzare un message bus

Entrambi gli approcci di acquisizione scrivono dati in Delta o Iceberg, consentendo a qualsiasi client di interoperare con i dati nel lakehouse. Per semplificare la configurazione, utilizza Genie Code nell'editor di Lakeflow Pipelines per generare facilmente pipeline di acquisizione Auto Loader utilizzando il linguaggio naturale.

Delta o Iceberg

I team possono quindi utilizzare direttamente i dati Variant in Lakehouse. Poiché i dati vengono sottoposti a shredding in modo intelligente durante il processo di acquisizione, le dashboard e la reportistica possono eseguire query direttamente sui dati con la stessa velocità dei dati strutturati.

Nel prossimo futuro, prevediamo di estendere ulteriormente il supporto per Variant includendo il Liquid Clustering per i campi Variant, funzioni SQL ampliate e ulteriori integrazioni di funzionalità.

Inizia a usare Variant oggi stesso

Con Variant, non dovrai più scendere a compromessi tra flessibilità e prestazioni quando utilizzi dati semi-strutturati. Databricks utilizza Predictive Optimization, che monitora il carico di lavoro e i pattern di query, per scrivere automaticamente i dati Variant garantendo le migliori prestazioni in tutti i prodotti.

Iniziare a usare Variant è semplice: provalo qui.

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

Ricevi gli ultimi articoli nella tua casella di posta

Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.