Nuovo LookML: come convertire un progetto LookML YAML

Looker 4.0 ha introdotto una nuova sintassi LookML, migliorata rispetto al LookML originale in stile YAML, con una sintassi familiare ma più semplice e un IDE ricco e assistivo per semplificare lo sviluppo di LookML. A partire da Looker 4.4, è stato necessario creare tutti i nuovi progetti LookML nel nuovo LookML. Tuttavia, alcuni progetti creati prima della conversione potrebbero ancora essere modellati in LookML YAML (precedente).

Looker offre un modo automatico per convertire un progetto LookML YAML nel nuovo LookML. In questa pagina viene spiegato come eseguire questa procedura. Ogni progetto LookML deve essere convertito singolarmente e gli sviluppatori devono preparare e coordinare gli sforzi, quindi assicurati di leggere fino in fondo questa pagina prima di convertire un progetto.

Prepararsi alla conversione

L'attività di conversione di un progetto LookML YAML al nuovo LookML deve essere eseguita da un solo sviluppatore LookML. La conversione avviene all'interno della modalità di sviluppo dello sviluppatore, dopodiché viene eseguito il commit delle modifiche e ne viene eseguito il deployment come per qualsiasi modifica LookML ordinaria.

Detto questo, la procedura richiede la collaborazione di tutti gli sviluppatori LookML. Poiché la conversione modifica sostanzialmente ogni riga di LookML, è importante assicurarsi che gli altri sviluppatori LookML abbiano eseguito il commit di tutte le modifiche apportate al progetto e ne abbiano eseguito il deployment prima che inizi il processo di conversione. Altrimenti, si potrebbero verificare alcuni conflitti di unione Git molto dannosi.

Sebbene il processo di conversione sia automatizzato, il nuovo LookML esamina il controllo degli errori in modo molto più approfondito rispetto a YAML LookML. Ciò significa che, dopo la conversione, potrebbero essere visualizzati errori che non sono stati visualizzati in precedenza. La risoluzione di questi errori migliorerà la qualità del progetto. Il numero di errori varierà necessariamente da un progetto all'altro, il che significa che la loro correzione potrebbe richiedere da pochi minuti a qualche ora. In ogni caso, lo sviluppo del progetto deve rimanere in pausa da tutti gli sviluppatori LookML fino alla correzione degli errori.

Trova progetti YAML nell'istanza di Looker

Per visualizzare i progetti YAML nella tua istanza Looker:

  1. Dal menu Sviluppo, seleziona l'opzione Gestisci progetti LookML o Progetti (l'opzione è leggermente diversa a seconda di dove accedi al menu Sviluppo).
  2. Nella pagina Progetti LookML, cerca l'etichetta YAML LookML nella riga della tabella di un progetto:

    SUGGERIMENTO: puoi selezionare il nome del progetto nella tabella per accedere al LookML del progetto.

Coordinati con gli sviluppatori prima della conversione

Per prepararti alla conversione al nuovo LookML:

  1. Scegli un sviluppatore LookML per eseguire il processo di conversione.
  2. Assicurati che il progetto sia privo di errori eseguendo lo strumento di convalida LookML. Correggi tutti gli errori, quindi esegui il commit delle modifiche ed eseguine il deployment prima di andare al passaggio successivo.
  3. Specifica un'ora in cui eseguire la conversione.
  4. Comunica a tutti gli altri sviluppatori LookML che devono apportare eventuali modifiche a cui stanno lavorando compiute e sottoposte a deployment entro la data indicata. In altre parole, tutte le copie del progetto in modalità di sviluppo devono essere in stato Git Aggiornato con Produzione.
  5. Comunica a tutti gli altri sviluppatori LookML che non devono apportare, eseguire il commit o il deployment di alcuna modifica fino al completamento della conversione.

Converti al nuovo LookML

Per eseguire la conversione al nuovo LookML, esegui il convertitore:

  1. Attiva la modalità di sviluppo.
  2. Apri il progetto da convertire.
  3. Assicurati che lo stato Git nell'angolo in alto a sinistra mostri Aggiornato con la versione di produzione.
  4. Esegui lo strumento di convalida LookML per assicurarti che non siano presenti errori nel progetto. Il risultato dovrebbe essere Nessun problema di LookML. Per eseguire lo strumento di convalida LookML, seleziona il pulsante Convalida LookML in alto a destra dell'IDE di Looker oppure l'icona Integrità del progetto nella parte superiore dell'IDE per aprire il riquadro Integrità del progetto, quindi seleziona Convalida LookML.
  5. Per convertire il progetto da LookML YAML al nuovo LookML:

    1. Seleziona l'icona Git Actions (Azioni Git) dalla barra laterale di navigazione dell'IDE di Looker.
      • In alternativa, seleziona l'icona Project Health nella parte superiore dell'IDE:

    2. Seleziona l'opzione Converti il progetto nel nuovo LookML dal riquadro Azioni Git o dalla parte inferiore del riquadro Stato del progetto.
    3. Seleziona il pulsante Converti in nuovo LookML nella finestra di dialogo di conferma.

Convalida il nuovo LookML

Quando il convertitore ha terminato l'esecuzione, l'IDE indicherà che i file sono stati modificati con un punto accanto a ciascun nome file:

Per convalidare il nuovo LookML:

  1. Seleziona il pulsante Convalida LookML per eseguire lo strumento di convalida LookML. Se non sono presenti errori, puoi passare direttamente alla sezione Esegui il commit e il deployment del nuovo LookML di questa pagina.
  2. Potresti visualizzare errori che non avevi rilevato prima. Come indicato in precedenza, il nuovo LookML è più approfondito sul controllo degli errori rispetto a YAML LookML. Esamina e correggi gli errori. Se non riesci a risolverli, consulta la sezione Risoluzione degli errori alla fine di questa pagina.

Esegui il commit e il deployment del nuovo LookML

A questo punto, esegui il commit e il deployment come faresti con qualsiasi modifica LookML ordinaria. Tieni presente che questo commit attiverà una rigenerazione delle tabelle derivate permanenti (PDT). Una volta eseguito il deployment del commit, comunica a tutti gli altri sviluppatori LookML che la conversione è stata completata e che l'esecuzione delle query che si basano sulle PDT potrebbe richiedere un po' più di tempo del solito, almeno finché non sarà ricreato tutto. Gli sviluppatori possono eseguire il pull dalla produzione nella modalità di sviluppo per apportare le modifiche e quindi continuare a sviluppare, ora con una sintassi LookML migliorata e più intuitiva e un IDE molto più utile e potente.

Risolvere gli errori

A causa della convalida del modello più completa della nuova versione di LookML, dopo la conversione potresti notare errori che non sono stati visualizzati in precedenza. Inoltre, in alcuni casi il nuovo controllo ad hoc degli errori di LookML richiede maggiori informazioni; il convertitore cerca di capirlo, ma in alcuni casi potrebbe essere necessario aggiungere una riga include in più in uno o due file di visualizzazione.

Riferimenti ai campi non validi

In alcuni contesti, LookML (versione precedente) YAML non garantisce che i campi o i set a cui fai riferimento siano effettivamente definiti da qualche parte nel modello. È probabile che venga visualizzato in un elenco di campi drill-field e in set.

Ad esempio, se il vecchio LookML includeva drill_fields: [id, name, email], ma a un certo punto dello sviluppo del modello hai rimosso il campo name a favore dei campi first_name e last_name, il LookML YAML non ti avrà avvisato che facevi riferimento a un campo (name) in questo elenco di campi drill inesistente. Questo può accadere anche se fai riferimento a un campo in un gruppo di dimensioni e il tuo LookML YAML non ha specificato il campo come fa il nuovo LookML.

Il nuovo LookML, invece, mostrerà questi tipi di errori. Pertanto, dopo aver convertito il progetto ed eseguito lo strumento di convalida LookML, potresti visualizzare errori relativi a riferimenti a campi non validi mai visti prima. La correzione di questi errori migliorerà la qualità complessiva del modello.

Mancano i file di inclusione nella visualizzazione

In alcuni casi, il controllo ad hoc degli errori di LookML richiede un po' più di contesto rispetto a quanto necessario in YAML LookML. Nello specifico, potrebbe essere necessario inserire una riga include in alcuni file delle viste, solitamente quando una visualizzazione ne estende l'altra.

Se non è presente alcuna ambiguità in merito al file da includere in una vista, il convertitore aggiungerà automaticamente la dichiarazione include appropriata nel nuovo file di visualizzazione LookML, senza che vengano visualizzati errori.

Tuttavia, in alcuni casi (ad esempio nel caso di progetti che contengono più modelli), potrebbero esserci due o più viste con lo stesso nome dichiarate in file di visualizzazione separati. Il convertitore non sarà in grado di determinare quale è quella corretta da includere, perciò aggiungerà un commento nella parte superiore del nuovo file LookML per indicare che deve essere inclusa solo una di queste viste. Risolvi l'errore risultante andando al file di visualizzazione e rimuovendo il commento dal suggerimento corretto.

Esplorazione di extension_required intrecciate

Come il problema relativo ai riferimenti di campi non validi descritto in precedenza, nel nuovo LookML lo strumento di convalida LookML ti avviserà delle esplorazioni dichiarate con extension: required, ma che non sono state effettivamente estese. Per risolvere questo errore, ricollega le esplorazioni ai relativi oggetti estesi oppure, se non sono utilizzate, rimuovile.

Controllo delle versioni

Poiché il processo di conversione LookML sostituisce i file di visualizzazione e modello .lookml con le versioni .lkml, se uno o più sviluppatori eseguono il commit del progetto durante la conversione, ti ritroverai nel mezzo di un conflitto di unione. Per questo motivo, è estremamente importante che il convertitore venga eseguito da uno solo sviluppatore, che deve coordinarsi per garantire che le copie in modalità di sviluppo di tutti gli utenti siano pulite e aggiornate prima di iniziare il processo di conversione.

Per evitare problemi di controllo della versione, è necessario che il codice si blocchi durante la conversione. Gli altri sviluppatori non devono controllare le modifiche durante il periodo di tempo in cui la conversione è bloccata.

Se lo sviluppatore che esegue la conversione riscontra problemi durante il processo di conversione, ma prima di eseguire il commit delle modifiche e il loro push in produzione, potrebbe trovare utile tornare in produzione. Questa opzione del menu a discesa (illustrata nella sezione Esegui il convertitore di questa pagina) annulla la conversione, consentendo allo sviluppatore di riavviare la procedura.