Pregunta

Quiero cargar datos de Google Cloud Storage a Bigquery, pero no puedo encontrar ningún código de ejemplo de Java que describa cómo hacerlo.¿Alguien me daría alguna sugerencia como cómo hacer esto?

Lo que realmente quiero hacer es transferir datos de las tablas de los motores de aplicaciones de Google a Bigquery (y sincronizar a diario), para que pueda hacer algún análisis.Utilizo el servicio de almacenamiento de Google Cloud en Google App Engine para escribir (nuevos) registros a los archivos en el almacenamiento de Google Cloud, y la única parte que falta es agregar los datos a las tablas en BigQuery (o crear una nueva tabla para la primera vez que escribe).Es cierto que puedo subir / agregar manualmente los datos utilizando la herramienta BigQuery Browser, pero me gustaría que sea automático, de lo contrario, necesito hacerlo manualmente todos los días.

¿Fue útil?

Solución

No sé de las muestras de Java para cargar tablas de Google Cloud Storage en BigQuery.Dicho esto, si sigue las instrucciones para ejecutar trabajos de consulta aquí , puedes correrun trabajo de carga en su lugar con el siguiente:

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.

Para obtener más información sobre el objeto de configuración de carga, consulte el Javadoc aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top