MtD*_*van 5 google-bigquery google-cloud-dataflow tensorflow tensorflow-datasets tensorflow-transform
内容:
我的文本输入管道当前包括两个主要部分:
我。复杂的文本预处理并导出tf.SequenceExamples到tfrecord(自定义标记化,词汇创建,统计信息计算,规范化以及整个数据集以及每个单独示例中的更多操作)。对于每个数据配置,只需完成一次。
二。一个tf.Dataset(TFRecords)管道在训练期间也进行了大量处理(string_split转换为字符,表查找,存储区,条件过滤等)。
原始数据集存在于多个位置(BigQuery,GCS,RDS等)。
问题:
问题在于,随着生产数据集快速增长(几个TB),为每种可能的数据配置(第1部分具有很多超参数)重新创建tfrecords文件是不可行的,因为每个文件都将具有数百TB的巨大容量。更不用说,tf.Dataset当tf.SequenceExamples或tfrecords变大时,读取速度会意外降低。
有很多可能的解决方案:
,但以下任何一项似乎都无法完全满足我的要求:
tf.Dataset一种或另一种方式直接发送数据(protos?)以用于第二部分。(可选)能够针对数据的所选部分预先计算一些全程统计信息。
编辑: Python 3支持会很棒。
tf.data.Dataset管道最合适的选择是什么?在这种情况下,最佳做法是什么?
提前致谢!
小智 0
我建议使用Cloud Composer(Airflow 的 GCP 集成)来编排整个用例。
Airflow 提供了运算符,可让您使用脚本编排管道。
在您的情况下,当您有足够的数据要处理时,您可以使用dataflow_operator来启动数据流作业。
要从 BigQuery 获取数据,您可以使用bigquery_operator。
此外,您可以使用 python 运算符或 bash 运算符来监视和预计算统计信息。
| 归档时间: |
|
| 查看次数: |
505 次 |
| 最近记录: |