Importare i dati in batch

Sebbene il modo principale per importare i dati in Manufacturing Data Engine (MDE) sia l'utilizzo dello streaming tramite Manufacturing Connect edge (MCe) o l'invio di messaggi a Pub/Sub, è anche possibile importare i file in batch. Questo può essere utile per rielaborare i dati o per importarli da sistemi esterni.

Il caricamento batch funziona creando un IngestionSpecification utilizzando l'interfaccia web o l'API e poi caricando uno o più file in una cartella in un bucket Cloud Storage configurato da MDE, che per impostazione predefinita ha il nome <project-id>-batch-ingestion. Quando un nuovo file viene caricato in questo bucket, verrà rilevato dal job Dataflow Cloud Storage Reader, che suddividerà il file in singoli messaggi e invierà ciascuno all'argomento Pub/Sub input-messages.

Formati supportati

Il caricamento in batch supporta i seguenti formati di dati:

  • JSON: delimitato da nuova riga. Ogni riga verrà inviata come nuovo messaggio.
  • CSV: con o senza intestazioni (possono essere definite), supporta l'omissione di righe e diversi separatori. Il messaggio viene convertito in JSON utilizzando ogni colonna dell'intestazione come chiave e la colonna della riga corrispondente come valore.
  • AVRO: mappa ogni riga da AVRO a JSON.
  • AVRO_RAW_WRITER: legge i messaggi non elaborati scritti da Cloud Storage Writer e riscrive ogni messaggio conservando l'ID messaggio Pub/Sub.

Configurazione

Affinché Cloud Storage Reader elabori i file, è necessario un File Ingestion Specification che definisca il tipo di file previsto, le relative opzioni e la cartella in cui verrà caricato.

Tutti i formati richiedono i seguenti parametri:

  • name: nome di File Ingestion Specification.
  • folderName: cartella in cui verranno caricati i file per questo File Ingestion Specification.
  • source: formato da utilizzare (JSON/CSV/AVRO/AVRO_RAW_WRITER).

Inoltre, l'origine CSV supporta quanto segue:

  • separator: separatore da utilizzare (se non ne viene fornito nessuno, viene utilizzato ,).
  • skip_rows: indica se saltare le righe prima di iniziare a leggere il file CSV.
  • intestazioni:
    • infer_headers: se le intestazioni devono essere dedotte dalla prima riga letta.
    • headerNames: fornisci un elenco ordinato di nomi di intestazioni da utilizzare.
  • insert_metadata: indica se includere i metadati relativi al file inserito (filePath, fileName, ingestionName). Questi vengono aggiunti come coppie chiave-valore aggiuntive al messaggio inviato.

Configurazioni di esempio

Questa sezione contiene alcune configurazioni di esempio per il caricamento batch.

Importare file JSON delimitati da nuova riga

REST

POST configuration/v1/ingestions

{
  "name": "json-simple",
  "source": "JSON",
  "folderName": "jsonFiles"
}

Console

  1. Accedi alla configurazione della specifica di importazione dei file.
  2. Apri la sezione FILE INGESTION (ACQUISIZIONE FILE) nel menu in alto della sezione "Cloud Management" (Gestione cloud).

    Importazione di file - Elenca le specifiche di importazione dei file

  3. Le specifiche di importazione dei file esistenti sono elencate nella sezione IMPORTAZIONE DEI FILE . Possono essere modificati, attivati, disattivati o eliminati utilizzando l'icona "Azioni" sul lato di ogni specifica di importazione.

    Importazione di file - Azione disponibile nelle specifiche di importazione

  4. Per creare una nuova specifica di importazione file, fai clic su "AGGIUNGI NUOVA SPECIFICA DI IMPORTAZIONE". Sul lato destro dello schermo viene visualizzato un nuovo menu laterale contenente tutti i parametri necessari per definire la nuova specifica di importazione dei file:

    Importazione di file - Nuova specifica di importazione di file

  5. Per creare una nuova specifica di importazione di file delimitati da JSON con interruzioni di riga, seleziona JSON dal menu Tipo di origine e fornisci i due parametri obbligatori, in questo esempio:

    • name: il nome della specifica di importazione dei file.
    • folderName: la cartella in cui verranno caricati i file per questa specifica di importazione dei file.

    Importazione file - Nuova specifica di importazione file JSON

  6. Una volta completati i parametri, fai clic su "CREA". Se la nuova specifica di importazione del file è stata creata correttamente, verrà visualizzato un messaggio di conferma.

Importare file AVRO

REST

POST configuration/v1/ingestions

{
  "name": "avro-simple",
  "source": "AVRO",
  "folderName": "avroFiles"
}

Console

  1. Accedi alla configurazione della specifica di importazione dei file.
  2. Apri la sezione FILE INGESTION (ACQUISIZIONE FILE) nel menu in alto della sezione "Cloud Management" (Gestione cloud).

    Importazione di file - Elenca le specifiche di importazione dei file

  3. Le specifiche di importazione dei file esistenti sono elencate nella sezione IMPORTAZIONE DEI FILE . Possono essere modificati, attivati, disattivati o eliminati utilizzando l'icona "Azioni" sul lato di ogni specifica di importazione.

    Importazione di file - Azione disponibile nelle specifiche di importazione

  4. Per creare una nuova specifica di importazione file, fai clic su AGGIUNGI NUOVA SPECIFICA DI IMPORTAZIONE.

  5. Sul lato destro dello schermo viene visualizzato un nuovo menu laterale contenente tutti i parametri necessari per definire la nuova specifica di importazione dei file:

    Importazione di file - Nuova specifica di importazione di file

  6. Per creare una nuova specifica di importazione di file AVRO, seleziona AVRO dal menu Tipo di origine.

  7. Fornisci i due parametri obbligatori, in questo esempio:

    • name: il nome della specifica di importazione dei file.
    • folderName: la cartella in cui verranno caricati i file per questa specifica di importazione dei file.

    Importazione di file - Nuova specifica di importazione di file AVRO

  8. Una volta completati i parametri, fai clic su "CREA". Se la nuova specifica di importazione del file è stata creata correttamente, verrà visualizzato un messaggio di conferma.

Importare file CSV deducendo i nomi delle colonne dalle intestazioni

REST

POST configuration/v1/ingestions

{
  "name": "csv-simple",
  "source": "CSV",
  "folderName": "csv-simple",
  "separator": ",",
  "headers": {
    "inferHeaders": true
  }
}

Console

  1. Vai all'interfaccia web di Manufacturing Connect.
  2. Accedi alla configurazione della specifica di importazione dei file.
  3. Apri la sezione FILE INGESTION (ACQUISIZIONE FILE) nel menu in alto della sezione "Cloud Management" (Gestione cloud).

    Importazione di file - Elenca le specifiche di importazione dei file

  4. Le specifiche di importazione dei file esistenti sono elencate nella sezione IMPORTAZIONE DEI FILE . Possono essere modificati, attivati, disattivati o eliminati utilizzando l'icona "Azioni" sul lato di ogni specifica di importazione.

    Importazione di file - Azione disponibile nelle specifiche di importazione

  5. Per creare una nuova specifica di importazione file, fai clic su AGGIUNGI NUOVA SPECIFICA DI IMPORTAZIONE.

  6. Sul lato destro dello schermo viene visualizzato un nuovo menu laterale contenente tutti i parametri necessari per definire la nuova specifica di importazione dei file:

    Importazione di file - Nuova specifica di importazione di file

  7. Per creare una nuova specifica di importazione file, fai clic su "AGGIUNGI NUOVA SPECIFICA DI IMPORTAZIONE".

  8. A destra dello schermo viene visualizzato un nuovo menu laterale contenente tutti i parametri necessari da definire.

    Specifiche di importazione dei file:

    Importazione di file - Nuova specifica di importazione di file

  9. Per creare una nuova specifica di importazione di file CSV che deducono i nomi delle colonne dalle intestazioni, seleziona CSV dal menu "Tipo di origine" e fornisci i sette parametri obbligatori, in questo esempio:

    • name: il nome della specifica di importazione dei file.
    • folderName: la cartella in cui verranno caricati i file per questa specifica di importazione dei file.
    • separator: separatore da utilizzare (se non ne viene fornito nessuno, viene utilizzato ,).
    • skip_rows: indica se saltare le righe prima di iniziare a leggere il file CSV.
    • headers:
    • infer_headers: se le intestazioni devono essere dedotte dalla prima riga letta. Seleziona 'SI' per dedurre i nomi delle colonne dalle intestazioni.
    • insert_metadata: indica se includere i metadati relativi al file inserito (filePath, fileName, ingestionName).

    Importazione file - Nuova specifica di importazione file CSV

  10. Una volta completati i parametri, fai clic su "CREA".

  11. Se la nuova specifica di importazione del file è stata creata correttamente, verrà visualizzato un messaggio di conferma.

Importare file CSV fornendo i nomi delle colonne e aggiungendo metadati di importazione

REST

POST configuration/v1/ingestions

{
  "name": "csv-headers-metadata",
  "source": "CSV",
  "folderName": "csv-headers",
  "separator": ",",
  "insertMetadata": true,
  "headers": {
    "headerNames": {
      "names": ["one", "two", "three"]
    }
  }
}

Console

  1. Accedi alla configurazione della specifica di importazione dei file.
  2. Apri la sezione FILE INGESTION (ACQUISIZIONE FILE) nel menu in alto della sezione "Cloud Management" (Gestione cloud).

    Importazione di file - Elenca le specifiche di importazione dei file

  3. Le specifiche di importazione dei file esistenti sono elencate nella sezione IMPORTAZIONE DEI FILE . Possono essere modificati, attivati, disattivati o eliminati utilizzando l'icona "Azioni" sul lato di ogni specifica di importazione.

    Importazione di file - Azione disponibile nelle specifiche di importazione

  4. Per creare una nuova specifica di importazione file, fai clic su AGGIUNGI NUOVA SPECIFICA DI IMPORTAZIONE.

  5. Sul lato destro dello schermo viene visualizzato un nuovo menu laterale contenente tutti i parametri necessari per definire la nuova specifica di importazione dei file:

    Importazione di file - Nuova specifica di importazione di file

  6. Per creare una nuova specifica di importazione File CSV che forniscono i nomi delle colonne e aggiungono metadati di importazione, seleziona CSV da Tipo di origine.

  7. Fornisci gli otto parametri obbligatori, in questo esempio:

    • name: il nome della specifica di importazione dei file.
    • folderName: la cartella in cui verranno caricati i file per questa specifica di importazione dei file.
    • separator: separatore da utilizzare (se non ne viene fornito nessuno, viene utilizzato ,).
    • skip_rows: indica se saltare le righe prima di iniziare a leggere il file CSV.
    • intestazioni:
      • infer_headers: se le intestazioni devono essere dedotte dalla prima riga letta. Seleziona "NO" per non dedurre i nomi delle colonne dalle intestazioni.
      • headerNames: fornisci un elenco ordinato di nomi di intestazioni da utilizzare.
    • insert_metadata: indica se includere i metadati relativi al file inserito (filePath, fileName, ingestionName).

    Importazione di file: nuova specifica avanzata per l&#39;importazione di file CSV

  8. Una volta completati i parametri, fai clic sul pulsante "CREA". Se la nuova specifica di importazione del file è stata creata correttamente, verrà visualizzato un messaggio di conferma.

Importa file CSV deducendo i nomi delle intestazioni e saltando 5 righe prima di iniziare a leggere il file

REST

POST configuration/v1/ingestions

{
  "name": "csv-skip-rows",
  "source": "CSV",
  "folderName": "csv-skip",
  "skipRows": 5,
  "separator": ",",
  "headers": {
    "inferHeaders": true
  }
}

Console

  1. Accedi alla configurazione della specifica di importazione dei file.
  2. Apri la sezione FILE INGESTION (ACQUISIZIONE FILE) nel menu in alto della sezione "Cloud Management" (Gestione cloud).

    Importazione di file - Elenca le specifiche di importazione dei file

  3. Le specifiche di importazione dei file esistenti sono elencate nella sezione IMPORTAZIONE DEI FILE . Possono essere modificati, attivati, disattivati o eliminati utilizzando l'icona "Azioni" sul lato di ogni specifica di importazione.

    Importazione di file - Azione disponibile nelle specifiche di importazione

  4. Per creare una nuova specifica di importazione file, fai clic su AGGIUNGI NUOVA SPECIFICA DI IMPORTAZIONE.

  5. Sul lato destro dello schermo viene visualizzato un nuovo menu laterale contenente tutti i parametri necessari per definire la nuova specifica di importazione dei file:

    Importazione di file - Nuova specifica di importazione di file

  6. Per creare una nuova specifica di importazione CSV che deduce i nomi delle intestazioni e salta 5 righe, seleziona CSV dal menu Tipo di origine.

  7. Fornisci i sette parametri obbligatori, in questo esempio:

    • name: il nome della specifica di importazione dei file.
    • folderName: la cartella in cui verranno caricati i file per questa specifica di importazione dei file.
    • separator: separatore da utilizzare (se non ne viene fornito nessuno, viene utilizzato ,).
    • skip_rows: seleziona il numero di righe da saltare, in questo caso 5.
    • intestazioni:
      • infer_headers: se le intestazioni devono essere dedotte dalla prima riga letta. Seleziona 'SI' per dedurre i nomi delle colonne dalle intestazioni.
    • insert_metadata: indica se includere i metadati relativi al file inserito (filePath, fileName, ingestionName).

    Importazione file - Nuova specifica di importazione file CSV con salto di riga

  8. Una volta completati i parametri, fai clic su "CREA".

  9. Se la nuova specifica di importazione del file è stata creata correttamente, verrà visualizzato un messaggio di conferma.

Importa i file AVRO generati dal percorso non elaborato di Cloud Storage Writer

REST

POST configuration/v1/ingestions

{
  "name": "avro-reprocess",
  "source": "AVRO_RAW_WRITER",
  "folderName": "avro-raw"
}

Ciò è particolarmente utile se devi rielaborare i file. Puoi utilizzare la partizione della data nella cartella dei file non elaborati per copiare solo i file dell'intervallo di tempo necessario. Ad esempio:

gcloud storage cp "gs://<project-id>-raw/v1/dt=2023-06-19/*" \
gs://<project-id>-batch-ingestion/avro-raw/

Console

  1. Accedi alla configurazione della specifica di importazione dei file.
  2. Apri la sezione FILE INGESTION (ACQUISIZIONE FILE) nel menu in alto della sezione "Cloud Management" (Gestione cloud).

    Importazione di file - Elenca le specifiche di importazione dei file

  3. Le specifiche di importazione dei file esistenti sono elencate nella sezione IMPORTAZIONE DEI FILE . Possono essere modificati, attivati, disattivati o eliminati utilizzando l'icona "Azioni" sul lato di ogni specifica di importazione.

    Importazione di file - Azione disponibile nelle specifiche di importazione

  4. Per creare una nuova specifica di importazione file, fai clic su AGGIUNGI NUOVA SPECIFICA DI IMPORTAZIONE.

  5. Sul lato destro dello schermo viene visualizzato un nuovo menu laterale contenente tutti i parametri necessari per definire la nuova specifica di importazione dei file:

    Importazione di file - Nuova specifica di importazione di file

  6. Per creare una nuova specifica di importazione AVRO files generated by the Cloud Storage Writer raw paths, seleziona AVRO Raw dal menu 'Source Type' e fornisci i due parametri obbligatori, in questo esempio:

    • name: il nome della specifica di importazione dei file.
    • folderName: la cartella in cui verranno caricati i file per questa specifica di importazione dei file.

    Importazione di file - Nuova specifica di importazione di file AVRO non elaborati

  7. Una volta completati i parametri, fai clic su "CREA".

  8. Se la nuova specifica di importazione del file è stata creata correttamente, verrà visualizzato un messaggio di conferma.

Ciò è particolarmente utile se devi rielaborare i file. Puoi utilizzare la partizione della data nella cartella dei file non elaborati per copiare solo i file dell'intervallo di tempo necessario, ad esempio:

  gcloud storage cp "gs://<project-id>-raw/v1/dt=2023-06-19/*" \
  gs://<project-id>-batch-ingestion/avro-raw/