小编Gra*_*ley的帖子

跨多个 DataFlow 作业/管道共享实例 - 可能吗?

是否可以使用DataflowPipelineRunner运行器(异步)提交X个单独的作业/管道,并让作业共享工作池,而不是启动和拆除单个作业/管道?

google-cloud-dataflow

6
推荐指数
1
解决办法
761
查看次数

从Dataflow写入BigQuery - 作业完成后不会删除JSON文件

我们的一个Dataflow作业将其输出写入BigQuery.我对如何在幕后实现这一点的理解是,Dataflow实际上将结果(分片)以JSON格式写入GCS,然后启动BigQuery加载作业以导入该数据.

但是,我们注意到,在作业完成后,无论是成功还是失败,都不会删除某些JSON文件.错误消息中没有警告或建议不会删除文件.当我们注意到这一点时,我们看了一下我们的存储桶,它有几百个来自失败作业的大型JSON文件(主要是在开发期间).

我原以为Dataflow应该处理任何清理,即使作业失败,当它成功时,肯定会删除这些文件.在作业完成后留下这些文件会产生大量的存储成本!

这是一个错误吗?

作业的示例作业ID"成功"但在GCS中留下了数百个大文件:2015-05-27_18_21_21-8377993823053896089

在此输入图像描述

在此输入图像描述

在此输入图像描述

google-cloud-dataflow

6
推荐指数
2
解决办法
705
查看次数

新的BigQuery定价'层'

根据定价页面,2016年1月1日将为BigQuery引入新的分层定价模型.

我们希望能够预测这可能对我们的应用程序产生的任何成本影响.因此,我们已经查看了一些更复杂的查询的JSON响应,以查看为其分配了什么"层".

billingTier层在JSON响应中清晰可见.

200 OK
- Show headers -
{
  "kind": "bigquery#job",
  [...]
  "totalBytesProcessed": "45319172942",
  "query": {
  "totalBytesProcessed": "45319172942",
  "totalBytesBilled": "45319454720",
  "billingTier": 1,
  "cacheHit": false
} 
Run Code Online (Sandbox Code Playgroud)

这是仅在2016年1月1日新定价模型启动之前分配的默认层(第1层),还是分配给查询的层的真实指示?

google-bigquery

6
推荐指数
1
解决办法
689
查看次数

BigQuery:使用标准 SQL 查询多个数据集和表

我的 Google Analytics(分析)数据分布在多个 BigQuery 数据集中,所有数据集都使用相同的架构。我想使用 BigQuery 的新标准 SQL 方言同时查询这些数据集中的多个表。我知道我可以查询单个数据库中的多个表,如下所示:

  FROM `12345678`.`ga_sessions_2016*` s
  WHERE s._TABLE_SUFFIX BETWEEN '0501' AND '0720'
Run Code Online (Sandbox Code Playgroud)

我不明白的是如何不仅查询12345678而且23456789同时查询。

google-bigquery

6
推荐指数
1
解决办法
7763
查看次数

如何在BigQuery Ruby API中设置BillingTier?

我的一些查询返回billingTierLimitExceeded错误并进行故障排除,这会导致我发送文档,告诉我更改查询作业的配置.

configuration.query.maximumBillingTier在REST API中找到了它,但没有找到Ruby客户端库.

如何configuration.query.maximumBillingTier使用Ruby SDK进行设置?

ruby google-bigquery

6
推荐指数
1
解决办法
134
查看次数

加载到BigQuery时使用多个'*'模式将无法正常工作

我们在加载到BigQuery时尝试使用glob模式,例如:

gs://<bucket_name>/Network*Impressions_12345_20150201*
Run Code Online (Sandbox Code Playgroud)

我们的存储桶中有"..NetworkImpressions_ .."和"..Network Backfill Impressions_ ..",因此我们使用第一个'*'来获取这两种类型的文件.但BQ borks:

"未找到:URI gs:// backup-gdfp-7415/Network*Impressions_232503_20150101_20*"

文件肯定存在.如果我们删除第一个'*'它就可以正常工作(当我们明确指定两种类型时).

这是我们尝试使用该模式的失败加载作业的作业ID:job_LXNGEAeWsaU9HyFgcCCJMHu8YtY

我原以为这应该可以用BigQuery实现吗?

google-bigquery

5
推荐指数
1
解决办法
698
查看次数

Dataflow 中的 BigQuery 行 - “getF()”返回 null

我们有一个从 BigQuery 表读取的管道。调用getF()TableRow 上的方法应该List<TableCell>为该行返回 a 。但它返回null

为什么getF()返回null

@Override
public void processElement(ProcessContext c) throws Exception {
   TableRow aRow = context.element();
   List<TableCell> tableCells = aRow.getF(); //This returns null! 
}
Run Code Online (Sandbox Code Playgroud)

google-cloud-dataflow

5
推荐指数
1
解决办法
459
查看次数

数据流混合Integer和Long类型

在我的数据流的管道,我设置字段impressions_raw作为Long一个com.google.api.services.bigquery.model.TableRow对象:

在此输入图像描述

在我的管道中,我读了TableRow回来.但是,而不是一个Long,我回来了Integer.

在此输入图像描述

但是,如果我明确地将值设置为Long大于Integer.MAX_VALUE,例如30亿的值,那么我回来了Long!

在此输入图像描述 在此输入图像描述

似乎Dataflow SDK正在进行某种类型的检查优化.

因此,如果不进行丑陋的类型检查,应该如何以编程方式处理此问题?(也许我错过了一些明显的事)

google-cloud-platform google-cloud-dataflow

5
推荐指数
1
解决办法
142
查看次数

BigQuery - 如何列出所有用户定义函数 (UDF)

如何以编程方式(例如使用 Java 或 SQL)列出 BigQuery 中的所有用户定义函数?

java google-bigquery

5
推荐指数
2
解决办法
1995
查看次数

根据google BigQuery SQL中的属性删除重复行

我有一张名为:结果的表 我正在使用 BigQuery 从 GA 中选择数据

SELECT
  Date,
  totals.pageviews,
  h.transaction.transactionId,
  h.item.itemQuantity,
  h.transaction.transactionRevenue,
  totals.bounces,
  fullvisitorid,
  totals.timeOnSite,
  device.browser,
  device.deviceCategory,
  trafficSource.source,
  channelGrouping,
  h.page.pagePath,
  h.eventInfo.eventCategory,
  device.operatingSystem
FROM
  `atomic-life-148403.126959513.ga_sessions_*`,
  UNNEST(hits) AS h
WHERE
  _TABLE_SUFFIX BETWEEN REPLACE(CAST(DATE_ADD(CURRENT_DATE(), INTERVAL -1 YEAR) AS STRING), '-','')
  AND CONCAT('intraday_', REPLACE(CAST(DATE_ADD(CURRENT_DATE(), INTERVAL 0 DAY) AS STRING), '-',''))
  ORDER BY
  date  DESC
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有一些记录重复。如何删除表中的重复记录?

我想得到以下结果。 在此输入图像描述

sql google-bigquery

5
推荐指数
1
解决办法
1万
查看次数