在导入 BigQuery 时添加文件名作为列?

2024-04-28

这是一个有关将数据文件从 Google Cloud Storage 导入到 BigQuery 的问题。

我有许多遵循严格命名约定的 JSON 文件,以包含 JSON 数据本身中未包含的一些关键数据。

例如:

xxx_US_20170101.json.gz
xxx_GB_20170101.json.gz
xxx_DE_20170101.json.gz

这是client_country_date.json.gz目前,我在 Ruby 应用程序中执行了一些复杂的流程,这些流程读取文件、附加附加数据,然后将其写回到一个文件中,然后将该文件导入到 BigQuery 中客户端的单个每日表中。

我想知道是否可以在导入 BigQuery 时获取并解析文件名?然后我可以放弃复杂的 Ruby 进程,这些进程偶尔会在较大的文件上失败。


您可以定义一个指向您的文件的外部表:

请注意,表类型是“外部表”,并且它指向多个文件* glob.

现在您可以查询这些文件中的所有数据,并查询元列_FILE_NAME:

#standardSQL
SELECT *, _FILE_NAME filename
FROM `project.dataset.table` 

您现在可以将这些结果保存到新的本机表中。

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

在导入 BigQuery 时添加文件名作为列? 的相关文章

  • BigQuery 无法将字段的“null”解析为 int

    尝试将 csv 文件加载到 bigquery 表中 有些列的类型为 INTEGER 但某些缺失值为 NULL 所以当我使用命令 bq load 加载时 出现以下错误 无法将 null 解析为字段的 int 所以我想知道处理这个问题的最佳解决
  • 分析云数据流 BigQuery 吞吐量/管道

    我试图弄清楚 DataFlow 如何扩展某些操作以及如何使其表现最佳 首先 我刚刚创建了一个简单的流程 从 BigQuery 读取数据 约 25M 行 总共 30GB 执行 JSON 提取 按键进行简单的分组 然后对分组进行聚合 每个约 1
  • BigQuery中有新数据时触发云功能

    我想在新数据导入 BigQuery 表时触发 Cloud Function 理想情况下 我想提取已插入的所有行 一列是 ISIN 这可能吗 如何实现 2022 年 6 月更新 第二代 Cloud Functions 支持Eventarc h
  • SQL查询查找同一天安装和卸载应用程序的用户

    我正在尝试使用 Google BigQuery 中 Firebase Analytics 的数据来查找在同一天安装和卸载该应用程序的用户 这就是我到目前为止所得到的 我有一个查询 为我提供安装或卸载应用程序的用户 或 app instanc
  • 在 Windows 上安装 gsutil

    我对 python 比较陌生 所以如果这是一个愚蠢的问题 我深表歉意 我在 Windows 上安装 gsutil 时遇到问题 我按照这里的指示进行操作 https developers google com storage docs gsu
  • 同一项目中的不同用户是否可以拥有不同的 BigQuery 配额?

    同一项目中的不同用户是否可以拥有不同的 BigQuery 配额 我知道我可以通过 GCP 的 IAM 和管理部分对给定项目的 每个用户每天的查询使用量 设置限制 以下这些说明 https cloud google com bigquery
  • 请求头字段X-Requested

    我正在尝试访问谷歌云存储上的存储桶中的文件 我已经为存储桶设置了 CORS 配置 但当我通过 https 发出请求时 出现此错误 它适用于通过 http 发出的请求 XMLHttpRequest 无法加载 FILENAME 预检响应中的 A
  • Google Big Query 错误:CSV 表遇到太多错误,放弃。行:1 错误:1

    I am trying to run a query on a 12 GB csv file loaded in Google big query I cant run any query on the dataset I am not s
  • Dataproc:使用 PySpark 从 BigQuery 读取和写入数据时出现错误

    我正在尝试读取一些 BigQuery 数据 ID my project mydatabase mytable 原始名称受保护 来自用户管理的 Jupyter Notebook 实例 内部Dataproc https cloud google
  • 使用 Airflow BigqueryOperator 向 BigQuery 表添加标签

    我必须向 bigquery 表添加标签 我知道可以通过 BigQuery UI 来完成此操作 但如何通过气流运算符来完成此操作 Use case 用于计费和搜索目的 由于多个团队在同一项目和数据集下工作 我们需要将各个团队创建的所有表组合在
  • 将新文件添加到 Cloud Storage 时触发 Dataflow 作业

    我想在将新文件添加到存储桶时触发数据流作业 以便处理新数据并将其添加到 BigQuery 表中 我看到云函数可以被触发 https cloud google com functions calling google cloud storag
  • 从 pandas 数据帧创建 BigQuery 表,无需显式指定架构

    我有一个 pandas 数据框 想从中创建一个 BigQuery 表 我知道有很多帖子询问这个问题 但到目前为止我能找到的所有答案都需要明确指定每列的架构 例如 from google cloud import bigquery as bq
  • 签名 URL 在过期日期后仍然有效

    我创建了一个签名 URL 有效期为 2 天 尽管过期 但它仍然有效 我希望它给出一些错误 3XX 4XX 测试脚本 https gist githubusercontent com forvaidya 984003008b0603ca679
  • BigQuery 数据类型

    我正在开始一个新项目 只是想在定义表模式之前进行验证 BigQuery 是否支持以下以外的其他功能 string integer float boolean BigQuery 数据类型官方文档 https cloud google com
  • 如何在标准 SQL 中使用 Unicode 规范化删除变音符号(例如重音符号)?

    如何使用新功能从 BigQuery 中的字符串中删除变音符号normalize https cloud google com bigquery docs reference standard sql functions and operat
  • 使用 NodeJS 从 GCP 存储下载对象

    我在用着 google cloud 存储 https www npmjs com package google cloud storage从节点应用程序访问 Google Cloud Storage 存储桶内的对象 但我无法使其工作 我已在
  • Google BigQuery:如何使用 SQL 创建新列

    我想在不使用旧版 SQL 的情况下向现有表添加一列 基本的 SQL 语法是 ALTER TABLE table name ADD column name datatype 我格式化了 Google BigQuery 的查询 ALTER TA
  • Google Kubernetes Engine 中的存储 ReadWriteMany

    有没有一种方法能够提供 ReadWriteMany 存储而无需实现存储集群 我能够使用 gcsfuse 提供存储 但速度非常慢 我需要接近 GlusterFS 速度的东西 我目前正在使用 GlusterFS 另一种选择 Google Clo
  • 将小数修剪到 2 位 Bigquery

    我当前正在运行一个查询 该查询运行 sum 函数并除以该数字 目前我得到的值例如 0 0904246741698848 和 1 6419814808335567 我希望这些小数被修剪到小数点后 2 个空格 他们的模式是一个浮点数 这是我的代
  • BigQuery REGEXP_MATCH 和重音:边界通配符失败?

    在 GAS 中 我可以正确地将重音符号与具有边界字符的正则表达式相匹配 例如 b b 仅当字符 是单独的单词时才匹配 这在 GAS 中有效 function test regExp var str la s ance est Paris v

随机推荐