使用BigQuery连接器连接Spark时是否可以发出查询而不是指定表?

时间:2018-11-09 13:49:59

标签: google-bigquery google-cloud-dataproc

我通过在Google Dataproc上运行代码,使用Use the BigQuery connector with Spark从BigQuery的表中提取数据。据我所知,这里共享的代码是

conf = {
    # Input Parameters.
    'mapred.bq.project.id': project,
    'mapred.bq.gcs.bucket': bucket,
    'mapred.bq.temp.gcs.path': input_directory,
    'mapred.bq.input.project.id': 'publicdata',
    'mapred.bq.input.dataset.id': 'samples',
    'mapred.bq.input.table.id': 'shakespeare',
}

# Output Parameters.
output_dataset = 'wordcount_dataset'
output_table = 'wordcount_output'

# Load data in from BigQuery.
table_data = sc.newAPIHadoopRDD(
    'com.google.cloud.hadoop.io.bigquery.JsonTextBigQueryInputFormat',
    'org.apache.hadoop.io.LongWritable',
    'com.google.gson.JsonObject',
    conf=conf)

将整个命名表复制到input_directory中。我需要从中提取数据的表包含> 500m行,而我不需要所有这些行。有没有一种方法可以发出查询(而不是指定表),以便我可以从表中复制数据的子集?

1 个答案:

答案 0 :(得分:1)