【问题标题】:DataPrep: access to source filenameDataPrep:访问源文件名
【发布时间】:2018-03-09 01:47:32
【问题描述】:
有没有办法用创建每一行的源文件名创建一列?
用例:我想跟踪 GCS 存储桶中的哪个文件导致在结果数据集中创建了哪一行。我想要对特定 GCS 存储桶中包含的文件进行预定转换。
我在 GCP 上查看了“metadata 文章”,但它对我的用例毫无用处。
更新:我在 Google 上开了一个feature request。
【问题讨论】:
标签:
google-cloud-platform
google-cloud-dataprep
【解决方案1】:
虽然他们尚未关闭该问题,但这是上周更新的一部分。
现在有一个名为 $filepath 的源元数据引用,正如您所料,它将文件的本地路径存储在 Cloud Storage 中(从顶级存储桶开始)。您可以在公式中使用它或将其添加到新的公式列中,然后在其他配方步骤中执行任何您想做的事情。
有一些注意事项,例如它不会返回 BigQuery 源的值,并且不会通过 pivot、join 或 unnest 持续存在。 . .但它轻松涵盖了绝大多数用例,而在其他情况下,您只需要在一些破坏性转换之前实现它。
注意:如果您的数据源示例是在此功能之前创建的,您需要生成一个新示例才能在界面中看到它(而不仅仅是 NULL 值)。
这些元数据字段的完整注释可在此处获得:https://cloud.google.com/dataprep/docs/html/Source-Metadata-References_136155148