Domanda

Voglio caricare i dati da Google Cloud Storage a BigQuery, ma non riesco a trovare alcun codice di esempio Java che descrive come fare questo.Qualcuno per favore dammi un suggerimento su come fare questo?

Quello che voglio effettivamente fare è trasferire i dati da Google App Engine Tables a BigQuery (e sincronizzare quotidianamente), in modo che io possa fare qualche analisi.Io uso il servizio di storage cloud di Google in Google App Engine per scrivere (nuovi) record per i file su file in Google Cloud Storage e l'unica parte mancante è di aggiungere i dati alle tabelle in BigQuery (o creare una nuova tabella per la prima volta scrivere).Cremo certamente posso caricare / aggiungere manualmente i dati utilizzando lo strumento BigQuery Browser, ma vorrei che sia automatico, altrimenti ho bisogno di farlo manualmente ogni giorno.

È stato utile?

Soluzione

Non conosco nessun campione Java per il caricamento delle tabelle da Google Cloud Storage in BigQuery.Detto questo, se si seguono le istruzioni per l'esecuzione di query Jobs qui , puoi correreUn lavoro di caricamento invece con il fowing:

Job job = new Job();
JobConfiguration config = new JobConfiguration();
JobConfigurationLoad loadConfig = new JobConfigurationLoad();
config.setLoad(loadConfig);

job.setConfiguration(config);

// Set where you are importing from (i.e. the Google Cloud Storage paths).
List<String> sources = new ArrayList<String>();
sources.add("gs://bucket/csv_to_load.csv");
loadConfig.setSourceUris(sources);

// Describe the resulting table you are importing to:
TableReference tableRef = new TableReference();
tableRef.setDatasetId("myDataset");
tableRef.setTableId("myTable");
tableRef.setProjectId(projectId);
loadConfig.setDestinationTable(tableRef);

List<TableFieldSchema> fields = new ArrayList<TableFieldSchema>();
TableFieldSchema fieldFoo = new TableFieldSchema();
fieldFoo.setName("foo");
fieldFoo.setType("string");
TableFieldSchema fieldBar = new TableFieldSchema();
fieldBar.setName("bar");
fieldBar.setType("integer");
fields.add(fieldFoo);
fields.add(fieldBar);
TableSchema schema = new TableSchema();
schema.setFields(fields);
loadConfig.setSchema(schema);

// Also set custom delimiter or header rows to skip here....
// [not shown].

Insert insert = bigquery.jobs().insert(projectId, job);
insert.setProjectId(projectId);
JobReference jobRef =  insert.execute().getJobReference();

// ... see rest of codelab for waiting for job to complete.
.

Per ulteriori informazioni sull'oggetto di configurazione del caricamento, consultare Javadoc qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top