为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Java 将 BigQuery 读取到 Apache Spark

如何使用 Java 将 BigQuery 读取到 Apache Spark

FFIVE 2024-01-28 17:03:57
我想使用 Java 将 Google BigQuery 中的表中的数据读取到 Spark 中。我如何在 Java 中做到这一点,我需要什么依赖项以及生成的数据类型是什么?我能找到的所有东西都在 Scala 中,但我需要 Java 中的。
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

下面是 Scala Shakespeare 示例的 Java 等效项:


import org.apache.spark.sql.Dataset;

import org.apache.spark.sql.Row;

import org.apache.spark.sql.SparkSession;


public class JavaShakespeare {


  public static void main(String[] args) {

    SparkSession spark = SparkSession.builder()

        .appName("spark-bigquery-demo")

        .getOrCreate();


    // Use the Cloud Storage bucket for temporary BigQuery export data used

    // by the connector. This assumes the Cloud Storage connector for

    // Hadoop is configured.

    String bucket = spark.sparkContext().hadoopConfiguration().get("fs.gs.system.bucket");

    spark.conf().set("temporaryGcsBucket", bucket);


    // Load data in from BigQuery.

    Dataset<Row> wordsDF = spark.read().format("bigquery")

        .option("table", "publicdata.samples.shakespeare").load().cache();

    wordsDF.show();

    wordsDF.printSchema();

    wordsDF.createOrReplaceTempView("words");


    // Perform word count.

    Dataset<Row> wordCountDF = spark.sql(

        "SELECT word, SUM(word_count) AS word_count FROM words GROUP BY word");


    // Saving the data to BigQuery

    wordCountDF.write().format("bigquery").option("table", "wordcount_dataset.wordcount_output")

        .save();

  }

}


查看完整回答
反对 回复 2024-01-28
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信