当前位置: 首页>>代码示例>>Java>>正文


Java BigQuery.getTable方法代码示例

本文整理汇总了Java中com.google.cloud.bigquery.BigQuery.getTable方法的典型用法代码示例。如果您正苦于以下问题:Java BigQuery.getTable方法的具体用法?Java BigQuery.getTable怎么用?Java BigQuery.getTable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.cloud.bigquery.BigQuery的用法示例。


在下文中一共展示了BigQuery.getTable方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: ensureExistingTables

import com.google.cloud.bigquery.BigQuery; //导入方法依赖的package包/类
private void ensureExistingTables(
    BigQuery bigQuery,
    SchemaManager schemaManager,
    Map<String, TableId> topicsToTableIds) {
  for (Map.Entry<String, TableId> topicToTableId : topicsToTableIds.entrySet()) {
    String topic = topicToTableId.getKey();
    TableId tableId = topicToTableId.getValue();
    if (bigQuery.getTable(tableId) == null) {
      logger.info("Table {} does not exist; attempting to create", tableId);
      schemaManager.createTable(tableId, topic);
    }
  }
}
 
开发者ID:wepay,项目名称:kafka-connect-bigquery,代码行数:14,代码来源:BigQuerySinkConnector.java

示例2: getSchema

import com.google.cloud.bigquery.BigQuery; //导入方法依赖的package包/类
/**
 * Get the schema by table name or query. This method also needed for read and write, because we can not get schema
 * from the ongoing data. BigQueryIO.Read return TableRow, which do not include schema in itself. So use BigQuery
 * client to get it before read and write.
 * 
 * @return
 */
@Override
public Schema getSchema() {
    BigQuery bigquery = BigQueryConnection.createClient(properties.getDatastoreProperties());
    com.google.cloud.bigquery.Schema bqRowSchema = null;
    switch (properties.sourceType.getValue()) {
    case TABLE_NAME: {
        TableId tableId = TableId.of(properties.getDatastoreProperties().projectName.getValue(),
                properties.bqDataset.getValue(), properties.tableName.getValue());
        Table table = bigquery.getTable(tableId);
        if (table == null) {
            ComponentException.build(CommonErrorCodes.UNEXPECTED_EXCEPTION)
                    .setAndThrow("Table not found:" + tableId.toString());
        }
        bqRowSchema = table.getDefinition().getSchema();
        break;
    }
    case QUERY: {
        QueryRequest queryRequest = QueryRequest.newBuilder(properties.query.getValue())
                .setUseLegacySql(properties.useLegacySql.getValue()).build();
        QueryResponse queryResponse = bigquery.query(queryRequest);
        bqRowSchema = queryResponse.getResult().getSchema();
        break;
    }
    default:
        throw new RuntimeException("To be implemented: " + properties.sourceType.getValue());
    }
    return BigQueryAvroRegistry.get().inferSchema(bqRowSchema);
}
 
开发者ID:Talend,项目名称:components,代码行数:36,代码来源:BigQueryDatasetRuntime.java

示例3: main

import com.google.cloud.bigquery.BigQuery; //导入方法依赖的package包/类
public static void main( String[] args )
{
	// Step 1: Generate json data file
	System.out.println("Step 1 start: Generate json data file at: " + (new Date()).toString());
	String jsonFile = writeSalesOrder(1000000); // 1 million records
	System.out.println("Step 1 end: Generate json data file at: " + (new Date()).toString());
	
	// Step 2: Compress json data file
	System.out.println("\nStep 2 start: Compress json data file at: " + (new Date()).toString());
	String gzipFile = GZipHelper.compressGzipFile(jsonFile, jsonFile + ".gz");
	System.out.println("Step 2 end: Compress json data file end at: " + (new Date()).toString());
	
	// Step 3: Get BigQuery instance
	System.out.println("\nStep 3 start: Get BigQuery instance at: " + (new Date()).toString());
	BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
	BigQuerySnippets snippets = new BigQuerySnippets(bigquery);
	System.out.println("Step 3 end: Get BigQuery instance at: " + (new Date()).toString());
	
	// Step 4: Create dataset and table in google bigquery
	System.out.println("\nStep 4 start: Create dataset and table in google bigquery at: " + (new Date()).toString());
	String datasetName = "sales_order_ds";
	String tableName = "sales_order";
	boolean isAppendData = false;
	try{
		Dataset dataset = snippets.getDataset(datasetName);
    	if(dataset == null)
    		snippets.createDataset(datasetName);
    	Table table = bigquery.getTable(datasetName, tableName);
    	if(table == null){
    		snippets.createTable(datasetName, tableName, snippets.createSchema());
    	}else{
    		if(isAppendData == false){
    			// program will delete the existing table first, then create a new table with the same schema
     		Schema schema = table.getDefinition().getSchema();
     		Boolean deleteSuccess = snippets.deleteTable(datasetName, tableName);
     		if(deleteSuccess)
     			snippets.createTable(datasetName, tableName, schema);
    		}
    	}
    	System.out.println("DataSet: " + datasetName + ", table: " + tableName + " were created!");
	}catch(Exception e){
		e.printStackTrace();
	}
	System.out.println("Step 4 end: Create dataset and table in google bigquery at: " + (new Date()).toString());
	
	// Step 5: Loading json.gz file into google bigquery
	System.out.println("\nStep 5 start: Loading json.gz file into google bigquery at: " + (new Date()).toString());
	loadSalesOrder(gzipFile, bigquery,snippets, datasetName, tableName);
	System.out.println("Step 5 end: Loading json.gz file into google bigquery at: " + (new Date()).toString());
	
	// Step 6: Executing sql query command
	System.out.println("\nStep 6 start: Executing sql query command at: " + (new Date()).toString());
	String sql = "SELECT product_name, sum(product_price) total_amount" +
				 " FROM [bigquery-study-157507:" + datasetName + "." + tableName + "]" + // From project_name.datasetName.tableName
				 " group by product_name" +
				 " order by total_amount desc" +
				 " LIMIT 10";
	execBigQuery(sql, snippets);
	System.out.println("Step 6 end: Executing sql query command at: " + (new Date()).toString());
	
	System.out.println("\nCelebrating to yourself!!!");	
}
 
开发者ID:michael-hll,项目名称:BigQueryStudy,代码行数:63,代码来源:App.java


注:本文中的com.google.cloud.bigquery.BigQuery.getTable方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。