Nuovo LookML — Come convertire un progetto YAML LookML

Looker 4.0 ha introdotto una nuova sintassi LookML che ha migliorato il LookML originale in stile YAML con una sintassi familiare, ma più semplice, e un IDE completo e di supporto per semplificare lo sviluppo di LookML. A partire da Looker 4.4, tutti i nuovi progetti LookML devono essere creati nel nuovo LookML. Tuttavia, alcuni progetti creati prima della conversione potrebbero essere ancora modellati in LookML YAML (vecchio).

Looker fornisce un modo automatico per convertire un progetto LookML YAML nel nuovo LookML. Questa pagina spiega come eseguire questa procedura. Ogni progetto LookML deve essere convertito singolarmente e gli sviluppatori devono preparare e coordinare le attività, quindi assicurati di leggere attentamente questa pagina prima di convertire un progetto.

Prepararsi alla conversione

L'attività di conversione di un progetto YAML LookML al nuovo LookML deve essere eseguita da un solo sviluppatore LookML. La conversione avviene nella modalità di sviluppo dello sviluppatore e le modifiche vengono quindi committate e implementate come qualsiasi modifica di LookML ordinaria.

Detto questo, la procedura richiede la collaborazione di tutti gli sviluppatori LookML. Poiché la conversione altera essenzialmente ogni riga di LookML, è importante assicurarsi che gli altri sviluppatori LookML abbiano eseguito il commit e il deployment di tutte le modifiche al progetto prima dell'inizio della procedura di conversione. In caso contrario, potresti riscontrare alcuni conflitti di unione Git molto fastidiosi.

Sebbene il processo di conversione sia automatizzato, il nuovo LookML è molto più accurato per quanto riguarda il controllo degli errori rispetto al LookML YAML. Ciò significa che, dopo la conversione, potrebbero verificarsi errori che non erano stati rilevati 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 diverse ore. In ogni caso, lo sviluppo del progetto deve rimanere in pausa da parte di tutti gli sviluppatori LookML finché gli errori non vengono corretti.

Trovare i progetti YAML nell'istanza di Looker

Per visualizzare i progetti YAML nell'istanza di Looker:

  1. Nel menu Sviluppa, seleziona l'opzione Gestisci progetti LookML o Progetti (l'opzione è leggermente diversa a seconda da dove accedi al menu Sviluppa).
  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 passare al relativo codice LookML.

Coordinati con gli sviluppatori prima della conversione

Per prepararti alla conversione al nuovo LookML:

  1. Scegli un sviluppatore LookML per eseguire la procedura di conversione.
  2. Assicurati che il progetto sia privo di errori eseguendo lo strumento di convalida LookML. Correggi tutti gli errori, poi esegui il commit e il deployment delle modifiche prima di continuare con il passaggio successivo.
  3. Designa un'ora per eseguire la conversione.
  4. Comunica a tutti gli altri sviluppatori LookML che devono committare e implementare le modifiche su cui stanno lavorando entro l'ora indicata. In altre parole, tutte le copie del progetto in modalità di sviluppo devono essere nello stato Git Aggiornato con la produzione.
  5. Comunica a tutti gli altri sviluppatori di LookML che non devono apportare, eseguire commit o eseguire il deployment di modifiche 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 di Git nell'angolo in alto a sinistra mostri Aggiornato con la 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 il validatore di LookML, seleziona il pulsante Convalida LookML in alto a destra nell'IDE di Looker oppure seleziona l'icona Stato del progetto in alto nell'IDE per aprire il riquadro Stato del progetto e poi seleziona Convalida LookML.
  5. Per convertire il progetto da LookML YAML al nuovo LookML:

    1. Seleziona l'icona Azioni Git dalla barra laterale di navigazione dell'IDE di Looker.
      • In alternativa, seleziona l'icona Stato del progetto nella parte superiore dell'IDE:

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

Convalida il nuovo LookML

Al termine dell'esecuzione del convertitore, l'IDE indica 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 il validatore LookML. Se non sono presenti errori, puoi passare alla sezione Esegui il commit e il deployment del nuovo LookML di questa pagina.
  2. Potresti visualizzare errori dove prima non ce n'erano. Come accennato in precedenza, il nuovo LookML è più accurato nel rilevare gli errori rispetto a YAML LookML. Esamina e correggi gli errori. Se non riesci a risolvere il problema, consulta la sezione Risolvere gli 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 ricostruzione 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 viene ricostruito tutto. Gli sviluppatori possono recuperare i dati di produzione in modalità di sviluppo per apportare le modifiche e poi 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ù accurata del nuovo LookML, potresti visualizzare errori dopo la conversione che non erano stati visualizzati in precedenza. Inoltre, in alcuni casi il controllo degli errori ad hoc del nuovo LookML richiede un po' più di informazioni. Il convertitore tenta di risolvere il problema, ma in alcuni casi potrebbe essere necessario aggiungere un'altra riga include in uno o due file di vista.

Riferimenti ai campi non validi

In alcuni contesti, il LookML YAML (vecchio) non garantisce che i campi o gli insiemi a cui fai riferimento siano effettivamente definiti da qualche parte nel modello. Il luogo più probabile in cui si verifica questo problema è negli elenchi e nei set di visualizzazione dei campi.

Ad esempio, se il tuo vecchio LookML includeva drill_fields: [id, name, email], ma a un certo punto dello sviluppo del modello hai rimosso il campo name in favore dei campi first_name e last_name, YAML LookML non ti avrà avvisato che facevi riferimento a un campo (name) in questo elenco di campi di visualizzazione che non esiste. Questo può verificarsi 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 il validatore di LookML, potresti visualizzare errori relativi a riferimenti a campi non validi che non hai mai visto prima. La correzione di questi errori migliorerà la qualità complessiva del modello.

Include mancanti nei file di visualizzazione

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

Quando non c'è ambiguità sul file da includere in una visualizzazione, il visualizzatore aggiunge automaticamente la dichiarazione include appropriata nel nuovo file della visualizzazione LookML e non vengono visualizzati errori.

Tuttavia, in alcuni casi (ad esempio con i progetti che contengono più modelli), possono essere presenti due o più visualizzazioni con lo stesso nome dichiarate in file di visualizzazione separati. Il convertitore non sarà in grado di determinare quale sia la vista corretta da includere, quindi aggiungerà un commento nella parte superiore del nuovo file LookML per indicare che deve essere inclusa solo una di queste visualizzazioni. Risolvi l'errore risultante andando al file della visualizzazione e disattivando il commento del suggerimento corretto.

Esplorazioni extension_required bloccate

Come per il problema relativo ai riferimenti ai campi non validi descritto in precedenza, nel nuovo LookML il Validatore LookML ti avviserà delle esplorazioni dichiarate con extension: required, ma che non vengono effettivamente estese. Per risolvere questo errore, ricollega queste esplorazioni ai relativi oggetti estesi o, se non sono utilizzate, rimuovile.

Controllo delle versioni

Poiché il processo di conversione di LookML sostituisce i file della vista .lookml e del modello con le versioni .lkml, se uno o più sviluppatori eseguono il commit nel tuo progetto durante la conversione, si verificherà un conflitto di unione. Per questo motivo, è estremamente importante che solo uno sviluppatore esegua il convertitore e che si coordini con gli altri per assicurarsi che le copie in modalità di sviluppo di tutti siano pulite e aggiornate prima di iniziare il processo di conversione.

Per evitare problemi di controllo della versione, è necessario un blocco del codice durante la conversione. Gli altri sviluppatori non devono eseguire il check-in delle modifiche durante il periodo di blocco per la conversione.

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