小编Saa*_*hir的帖子

使用 Cloud Function 从 Google Cloud Storage Bucket 读取最新文件

我面临的问题是 Cloud Storage 按字典顺序(字母顺序)对新添加的文件进行排序,而我正在使用 Cloud Functions 中的 Python 客户端库读取 Cloud Storage 存储桶中索引 0 处的文件(必须使用云函数作为我项目的一部分)并将数据放在 BigQuery 中,这对我来说很好用,但新添加的文件并不总是出现在索引 0 处。

流文件每天在不同时间进入我的存储桶。文件名相同(data-2019-10-18T14_20_00.000Z-2019-10-18T14_25_00.txt)但文件名中的日期和时间字段在每个新添加的文件中都不同。

每次触发云功能时,如何调整此python代码以读取Cloud Storage存储桶中最新添加的文件?

files = bucket.list_blobs()
fileList = [file.name for file in files if '.' in file.name]
blob = bucket.blob(fileList[0])   #reading file placed at index 0 in bucket
Run Code Online (Sandbox Code Playgroud)

python client-library google-cloud-storage google-cloud-platform google-cloud-functions

3
推荐指数
1
解决办法
2683
查看次数

如何减少 BigQuery 在查询期间扫描的数据量?

请有人告诉并解释以下多项选择题的正确答案?

\n\n

您有一个查询,该查询使用时间戳和 ID 列上的 WHERE 子句来过滤 BigQuery 表。通过使用,bq query \xe2\x80\x93-dry_run您将了解到查询会触发表的完整扫描,即使时间戳和 ID 上的过滤器选择了总体数据的一小部分。您希望通过对现有 SQL 查询进行最少的更改来减少 BigQuery 扫描的数据量。你该怎么办?

\n\n
    \n
  1. 为每个 ID 创建一个单独的表。
  2. \n
  3. 使用 LIMIT 关键字可以减少返回的行数。
  4. \n
  5. 重新创建带有分区列和聚集列的表。
  6. \n
  7. 使用该bq query --maximum_bytes_billed标志来限制计费的字节数。
  8. \n
\n

sql google-bigquery google-cloud-platform

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