将 Apache Spark 数据帧保存到 TFRecord 文件

本文介绍如何使用 spark-tensorflow-connector 将 Apache Spark 数据帧保存到 TFRecord 文件并使用 TensorFlow 加载 TFRecord。

TFRecord 文件格式是简单的面向记录的二进制格式,适用于 ML 训练数据。 使用 tf.data.TFRecordDataset 类可以将一个或多个 TFRecord 文件的内容作为输入管道的一部分进行流式传输。

使用 spark-tensorflow-connector

可以使用 spark-tensorflow-connector 将 Apache Spark 数据帧保存到 TFRecord 文件。

spark-tensorflow-connectorTensorFlow 生态系统中的一个库,可实现 Spark 数据帧和 TFRecords(用于存储 TensorFlow 数据的常用格式)之间的转换。 通过 spark-tensorflow-connector,可以使用 Spark 数据帧 API 将 TFRecords 文件读入数据帧,并以 TFRecords 形式写入数据帧。

注意

spark-tensorflow-connector 库包含在用于机器学习的 Databricks Runtime 中。 若要在 Databricks Runtime 发行说明版本和兼容性 上使用 spark-tensorflow-connector,需从 Maven 安装该库。 有关详细信息,请参阅 Maven 或 Spark 包

示例:使用 TensorFlow 从 TFRecord 文件加载数据

该示例笔记本演示了如何将数据从 Apache Spark 数据帧保存到 TFRecord 文件并加载 TFRecord 文件以进行 ML 训练。

可以使用 tf.data.TFRecordDataset 类加载 TFRecord 文件。 有关详细信息,请参阅 TensorFlow 上的[读取 TFRecord 文件] (https://www.tensorflow.org/ tutorials/load_data/tfrecord#reading_a_tfrecord_file)。

为分布式 DL 笔记本准备图像数据

获取笔记本