scala - 使用 spark scala 从 bigquery 读取数据
问题描述
我正在尝试从中读取数据bigquery
并打印它们。这是我尝试过的,
// Initialize Spark session
val spark = SparkSession
.builder
.master("local")
.appName("Word Count")
.config("fs.gs.project.id", "bigquery-public-data")
.config("google.cloud.auth.service.account.enable", "true")
.config("fs.gs.auth.service.account.json.keyfile", "<key_file>")
.getOrCreate()
val macbeth = spark.sql("SELECT * FROM shakespeare WHERE corpus = 'macbeth'").persist()
macbeth.show(100)
但这给了我一个错误如下,
Exception in thread "main" org.apache.spark.sql.AnalysisException: Table or view not found: shakespeare; line 1 pos 14
Caused by: org.apache.spark.sql.catalyst.analysis.NoSuchTableException: Table or view 'shakespeare' not found in database 'default';
我找不到解决此问题的方法。请帮我从这个数据集中读取数据。
解决方案
找不到表格或视图:莎士比亚;第 1 行第 14 行
当 BigQuery 查找表时,它会在 projectId 和数据集下查找它。在您的代码中,我看到两个可能的问题:
- projectId - 您正在使用 BigQuery 公共项目作为您的 projectId
bigquery-public-data
,您需要将此变量的值更改为正确的值 - datasetId - 在您的查询中,您没有指出存储
shakespeare
表的数据集
推荐阅读
- javascript - 在 index.js 模块中添加方法是否正确?
- app-store-connect - iTunes Connect 中的应用程序链接在 2021 年 WWDC 之后停止工作
- javascript - javascript:区分数组映射中的键
- laravel - 为什么没有调用 laravel 8 应用程序中的资源支持?
- json - Appflow Update_flow 错误:无法更新目标连接器的目标对象
- python - 需要将包含两个列表的字典转换为 Pandas DataFrame
- reactjs - 是否有更好的方法来实现 Google 表格的类似单元格功能?
- java - 我的 JCheckBox 程序只显示一个框。这是为什么?
- chart.js - ChartJS 旋转 90' 但保持文本笔直
- python - 给框架尺寸