【问题标题】:How to query data from BigQuery using JAVA API如何使用 JAVA API 从 BigQuery 查询数据
【发布时间】:2016-05-05 10:30:40
【问题描述】:

我们有一个用 JAVA 编写的 api 项目,使用 spring hibernate 并从 MySQL 读取数据。最近,我们添加了另一个数据源为 BigQuery,因此我们希望允许用户调用某些 API 来从 BigQuery 中查询数据 - 使用 JAVA api 客户端从 BigQuery 中的订单表中获取订单计数。看了github示例,但不清楚如何设置和访问。

也找到了这个link,但不确定是否要注册网络应用等。请告知。

更新:想象一下这是一个网络应用程序,如果我选择一个商家,它会显示过去 5 天的订单数。但订单表在 BigQuery 中。我的 Web 应用程序调用 -> 调用的 java api 层 -> 使用客户端库的 bigquery -> 将响应填充为 json -> Web 应用程序接收订单计数。

我觉得问题在于使用 GoogleCredential 进行身份验证。生成了一个新的 Oauth 客户端 ID,它提供了 client_id 和 client_secret。但它仍然无法对项目进行身份验证并给出结果。

谢谢。

【问题讨论】:

  • 看起来你提到的链接丢失了。
  • 既然您的任务很笼统,我有几个问题您知道需要将数据移动到 Google 的云中才能使用 BigQuery 访问数据吗?如果是这样,那么我希望你提到这个link
  • 您的费率很低。对 SO 很重要,您必须使用已发布答案左侧、投票下方的勾号来标记已接受的答案。这将提高您的费率。通过访问此链接了解其工作原理:meta.stackoverflow.com/questions/5234/…
  • 感谢 Pentium10 会记住这一点。
  • 更新了链接。抱歉,它没有使用插入链接,它不存在。感谢您的指出。

标签: java google-api google-bigquery google-api-java-client


【解决方案1】:

由于您的问题很笼统,我相信您需要了解 Google 的 BigQuery 的工作原理、如何设置数据等。

在 BigQuery 中设置数据后,您可以使用 Web UI 或命令行工具访问 BigQuery,或者使用 Java、.NET 或 Python 等各种客户端库调用 BigQuery REST API

你也没有提到你是否通过basics

我希望这个link 将有助于了解如何将数据导入 BigQuery 以及设置数据、查询等。

【讨论】:

  • 嗨,Adheep,我对 Big Query 有所了解,并且也一直在使用 BigQuery。但现在的用例是使用 API 集成对 BigQuery 中数据的访问。由于我们有一个 JAVA api 层,我们正在尝试使用客户端 api 读取数据。我们参考了 github bigquery-appengine 示例,但它无法显示一个好的迹象,可能不确定 api 客户端如何进行身份验证。在 aws sdk 中,使用访问密钥和密钥非常简单。
  • 感谢 Dragaon 的清晰说明。是的,BigQuery 的 Java API 可能非常令人困惑,并且没有直接的教程。在这种情况下,您是否可以使用 RESTClient 或 Jersey 客户端等 REST Client api 并使用 BigQuery 的 REST 访问数据?
  • 同意 Google Cloud 应简化此过程,以允许用户从 AWS 迁移到他们的平台。 BigQuery REST 如何进行身份验证?
  • BigQuery REST 使用从 O Auth 2.0 生成的令牌进行身份验证。 Pentium10 分享了一个关于服务帐户的link,这将对您有所帮助。
【解决方案2】:

使用Service Accounts 连接到您的 BQ。

请注意,响应时间为 2-3 秒,因为这是一个大数据工具,而不是用于 Web 的实时数据库。不确定这是否是您希望 Web 应用程序工作的方式。您可能需要将号码缓存在本地数据库中。

【讨论】:

  • 我们使用凭据选项卡来生成客户端 ID 和客户端 client_secret。现在我们正在使用这个例子cloud.google.com/bigquery/… 仍然没有运气。它说用户无权访问 bigquery
  • 您需要使用服务帐户并设置p12文件或JSON。
  • 嗨 Pentium10,我们之前生成了一个服务帐户 JSON 密钥,但看起来该帐户没有权限。无法弄清楚如何提供权限。但是在使用默认帐户时,它起作用了。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
  • 1970-01-01
  • 1970-01-01
  • 2018-07-30
  • 1970-01-01
相关资源
最近更新 更多