加入 Google Bigquery

2024-01-16

我知道正在开展工作来改进 Bigquery 上的联接功能,不是在这里咆哮,但如果不能正确使用联接,将很难分析“广告”的“太字节”数据集。

好吧,回到问题,我有两个表,一个是 600 Megs,另一个是 50 Megs,我确实尝试进行连接,但出现了关于必须保留较小表的错误。我做了一些研究,我发现Bigquery如果两个表都大于 7MB,则认为它们很大?

因此,根据我在网上找到的一些建议,我确实选择了较小表的相关数据集并将其保存在一个新表中,新数据集为 12MB,两列包含 600K 行。然后我再次尝试查询,但仍然收到相同的错误:

Query Failed : Error: Large table cdrs_test.geoIP_Left must appear as the leftmost table in a join query

geoIP_Left 是 12 Megs,另一个表是 600Megs..

这个问题能以某种方式解决吗还是我被抓了?如果是这样,有人知道我可以用来分析支持连接的大数据集的任何其他服务吗?

编辑:这是实际的查询;

SELECT COUNT(results.cc_card) AS count,
       sum(results.sessiontime) AS time, 
       geoIP_Left.place AS place 
FROM cdrs_test.cdrs_2010_5 AS results 
JOIN cdrs_test.geoIP_Left AS geoIP_table 
  ON results.cc_card = geoIP_table.vcard 
WHERE results.sessiontime > 0 AND results.countryName Contains 'India' 
GROUP BY place;

您可以将此查询表示为仅引用来自的列的子选择cdrs_test.geoIP_Left您感兴趣的。请参阅第二个示例here https://developers.google.com/bigquery/docs/query-reference#smalljoin.

SELECT
  COUNT(results.cc_card) AS count,
  sum(results.sessiontime) AS time, 
  geoIP_table.place AS place 
FROM
  cdrs_test.cdrs_2010_5 AS results 
JOIN
  (SELECT place, vcard FROM cdrs_test.geoIP_Left)
AS
  geoIP_table 
ON
  results.cc_card = geoIP_table.vcard 
WHERE
  results.sessiontime > 0 AND results.countryName CONTAINS 'India' 
GROUP BY
  place;

您还可以简单地运行多个查询 - 请注意,您可以将查询结果显式保存为命名表,并在以后的查询中使用该表。

最后,另一种选择是使用(例如)MapReduce 转换管道或ETL tool https://developers.google.com/bigquery/docs/third_party_tools由 BigQuery ETL 合作伙伴之一提供。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

加入 Google Bigquery 的相关文章

随机推荐

  • 无法将类型“UIView”的值转换为预期参数类型“UIWebView”

    我正在使用 cordova plugin iosrtc 我遇到以下错误 iOSRTCApp master platforms ios iOSRTCApp Plugins cordova plugin iosrtc iosrtcPlugin
  • 如何重定向到 ASP.NET MVC 中的调用页面?

    假设我有一个控制器操作 可以从用户的购物篮中删除一个项目 通过对 url delete id 执行 POST 来触发此控制器操作 如果我的应用程序上有多个页面将发布到此 url 那么如何构造控制器操作以重定向回发布到它的页面 我就是做这个的
  • cordova+xcode ios 构建中的错误

    当尝试交付我的应用程序 内置于 vs2015 cordova remote xcode 7 中 时 我在应用程序加载器中收到以下错误 提前致谢 当发布专门使用 Xcode 7 创建的应用程序时 Cordova 的 iOS 实现似乎存在问题
  • 为什么我们应该使用 QUOTENAME 函数?

    我认识了报价名称 https msdn microsoft com en us library ms176114 aspx功能 但我不明白我可以用它做什么 为什么它的应用如此广泛 select quotename abc abc selec
  • python中同时循环两个for循环的问题

    我想在python中同时执行两个for循环 以便同时读取两个不同文件中具有相同索引的两行 这是我尝试过的 def load dataset train path str label path str gt Tuple List str Li
  • 获取给定时区的当前时间:android

    我是 Android 新手 目前面临着获取给定时区的当前时间的问题 我得到格式为 GMT 7 的时区 即字符串 我有系统时间 有没有一种干净的方法来获取上述给定时区的当前时间 任何帮助表示赞赏 谢谢 编辑 尝试这样做 public Stri
  • SharpDevelop 错误:“无法识别工具版本‘12.0’...”

    过去几个月我一直在使用 SharpDevelop 使用 Excel DNA 开发 vb net 项目 突然间 当我像往常一样打开我的项目时 出现以下错误 无法识别工具版本 12 0 可用的工具版本有 2 0 3 5 4 0 C path t
  • chrome.action.onClicked 或 browserAction.onClicked 不起作用

    我试图在单击工具栏 右上角 中的扩展程序图标时执行一个函数 我添加了chrome browserAction onClicked addListener在background js 文件中 但它不起作用 请帮我 最终 我的目标是通过 HTM
  • 无需 AppDelegate 的 SwiftUI 远程推送通知(Firebase 云消息传递)

    我正在尝试在 SwiftUI 2 0 中实现远程推送通知 但没有 AppDelegate 我知道我可以通过以下方式提供一个 UIApplicationDelegateAdaptor AppDelegate self var appDeleg
  • 在 ASP.NET 中使用 bootstrap modalpopup

    我有一个Products显示产品列表的页面 当我点击Details按钮 我想在引导模式弹出窗口中显示产品详细信息 我想获取其中一项产品详细信息 但此代码获取所有产品详细信息 我该如何解决这个查询 aspx 代码
  • 从 n 层客户端遍历对象图

    我是一名学生 目前正在尝试使用 Nhibernate WCF WPF 的 Net n 层应用程序 做得非常糟糕的事情之一是对象图序列化 事实上它根本没有完成 目前关联被忽略 我们到处都在使用 DTO 据我所知 一种继续进行的方法是预定义应该
  • 展平 Java 8 可选管道中的元素列表

    我有一个id值可以是null 然后我需要用这个调用一些服务id获取交易列表并获取第一个不null从列表中进行交易 目前我有这个工作代码 Optional ofNullable id map id gt service findTrades
  • 预加载 SVG 图像

    我有大约一百个简单的 SVG 图像 它们存储在大约五个不同的图像文件夹中 目前 当需要显示它们时 就立即检索它们 这在大多数情况下是有效的 但有时确实会导致闪烁 我想消除这种闪烁 有没有办法在需要之前预加载这些图像 以便将它们缓存 我在这里
  • Spring Data Rest:“无法从 @EntityScan 配置 LocalContainerEntityManagerFactoryBean”

    我有一个 REST 服务 spring boot 应用程序 包含两个独立的 Maven 项目 第一个myapp data包括 Spring Data JPA Spring Data Rest Entities 和 Rest Reposito
  • HTML 表单在点击提交按钮时执行一些“操作”

    我想了解 HTML 表单 例如 我有两个用于名字和姓氏的输入文本字段以及一个提交按钮 单击提交按钮时 我希望网页显示类似以下内容的内容 您的名字是 名字 姓氏
  • 为什么 List.ForEach 允许修改其列表?

    如果我使用 var strings new List
  • 为 nextjs 默认服务器上的静态文件服务设置缓存控制标头

    我正在使用默认的 nextjs 服务器通过此命令运行我的 nextjs 程序next start 但是 我无法更改公共文件夹下文件的缓存控制标头 有没有什么方法可以在不设置自定义服务器的情况下设置缓存控制标头 有未记录的功能或错误 但它有效
  • 如何检查批处理脚本中的参数(或变量)是否为数字

    我需要检查传递给 Windows 批处理文件的参数是否为数值 如果检查也适用于变量 那就太好了 我找到了一个answer https superuser com a 404359到类似的question https superuser co
  • 找不到用于调试 .NET 源代码的 .cs 文件

    我尝试按照以下步骤设置调试 NET 源MDSN 演练 https msdn microsoft com en us library cc667410 aspx 符号缓存已正确设置 检查 启用 NET Framework 源步进 也是如此 但
  • 加入 Google Bigquery

    我知道正在开展工作来改进 Bigquery 上的联接功能 不是在这里咆哮 但如果不能正确使用联接 将很难分析 广告 的 太字节 数据集 好吧 回到问题 我有两个表 一个是 600 Megs 另一个是 50 Megs 我确实尝试进行连接 但出