将 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-connector
是 TensorFlow 生态系统中的一个库,可实现 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 文件。