添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

试用 Microsoft Fabric 中的数据工厂 ,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费 开始新的试用

如果要 分析 Parquet 文件或以 Parquet 格式写入数据 ,请遵循此文章中的说明。

以下连接器支持 Parquet 格式:

Amazon S3 Amazon S3 兼容存储 Azure Blob Azure Data Lake Storage Gen1 Azure Data Lake Storage Gen2 Azure 文件 Google 云存储 Oracle 云存储

有关所有可用连接器支持的功能的列表,请访问 连接器概述 一文。

使用自承载集成运行时

对于由自承载集成运行时支持的复制(例如,在本地与云数据存储之间进行的复制),如果不是按原样 复制 Parquet 文件,则需要在 IR 计算机上安装 64 位 JRE 8 (Java Runtime Environment)、JDK 23(Java 开发工具包)或 OpenJDK 。 请查看以下段落以了解更多详细信息。

对于使用 Parquet 文件序列化/反序列化在自承载集成运行时上运行的复制,该服务将通过首先检查 JRE 的注册表项 (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome) 来查找 Java 运行时,如果未找到,则会检查系统变量 JAVA_HOME 来查找 OpenJDK。

若要使用 JRE :64 位 IR 需要 64 位 JRE。 可在 此处 找到它。
  • 若要使用 JDK :64 位 IR 需要 64 位 JDK 23。 可在 此处 找到它。 请务必将 JAVA_HOME 系统变量更新到 JDK 23 安装的根文件夹,即 C:\Program Files\Java\jdk-23 ,并将 C:\Program Files\Java\jdk-23\bin 文件夹和 C:\Program Files\Java\jdk-23\bin\server 文件夹的路径添加到 Path 系统变量。
  • 若要使用 OpenJDK :从 IR 版本 3.13 开始受支持。 将 jvm.dll 以及所有其他必需的 OpenJDK 程序集打包到自承载 IR 计算机中,并相应地设置系统环境变量 JAVA_HOME,然后重启自承载 IR,以便立即生效。 若要下载 Microsoft 版 OpenJDK,请参阅 Microsoft 版 OpenJDK™

    如果使用自承载集成运行时将数据复制为 Parquet 格式或从 Parquet 格式复制数据,并遇到“调用 java 时发生错误,消息: java.lang.OutOfMemoryError:Java 堆空间”的错误,则可以在托管自承载 IR 的计算机上添加环境变量 ,以便调整 JVM 的最小/最大堆大小,以支持此类复制,然后重新运行管道 。

    示例:将变量 _JAVA_OPTIONS 的值设置为 -Xms256m -Xmx16g 。 标志 Xms 指定 Java 虚拟机 (JVM) 的初始内存分配池,而 Xmx 指定最大内存分配池。 这意味着 JVM 初始内存为 Xms ,并且能够使用的最多内存为 Xmx 。 默认情况下,该服务最少使用 64 MB 且最多使用 1G。

    数据集属性

    有关可用于定义数据集的各部分和属性的完整列表,请参阅 数据集 一文。 本部分提供了 Parquet 数据集支持的属性列表。

    compressionCodec 写入到 Parquet 文件时要使用的压缩编解码器。 从 Parquet 文件中读取时,数据工厂会基于文件元数据自动确定压缩编解码器。
    支持的类型为“none”、“gzip”、“snappy”(默认值)和“lzo” 。 请注意,当前复制活动在读取/写入 Parquet 文件时不支持 LZO。 "type": "Parquet", "linkedServiceName": { "referenceName": "<Azure Blob Storage linked service name>", "type": "LinkedServiceReference" "schema": [ < physical schema, optional, retrievable during authoring > ], "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "container": "containername", "folderPath": "folder/subfolder", "compressionCodec": "snappy"

    复制活动属性

    有关可用于定义活动的各部分和属性的完整列表,请参阅 管道 一文。 本部分提供了 Parquet 源和接收器支持的属性列表。

    Parquet 作为源

    复制活动的 *source* 节支持以下属性。

    storeSettings 有关如何从数据存储读取数据的一组属性。 每个基于文件的连接器在 storeSettings 下都有其自己支持的读取设置。 请在连接器文章 -> 复制活动属性部分中查看详细信息。

    Parquet 作为接收器

    复制活动的 *sink* 节支持以下属性。

    storeSettings 有关如何将数据写入到数据存储的一组属性。 每个基于文件的连接器在 storeSettings 下都有其自身支持的写入设置。 请在连接器文章 -> 复制活动属性部分中查看详细信息。 fileNamePrefix 配置 maxRowsPerFile 时适用。
    在将数据写入多个文件时,指定文件名前缀,生成的模式为 <fileNamePrefix>_00000.<fileExtension> 。 如果未指定,将自动生成文件名前缀。 如果源是基于文件的存储或 已启用分区选项的数据存储 ,则此属性不适用。

    映射数据流属性

    在映射数据流中,可在以下数据存储中读取和写入 parquet 格式: Azure Blob 存储 Azure Data Lake Storage Gen1 Azure Data Lake Storage Gen2 SFTP ,还可在 Amazon S3 中读取 parquet 格式。

    下表列出了 parquet 源支持的属性。 可以在“源选项”选项卡中编辑这些属性。

    数据流脚本属性 写入的数据的命名格式。 默认情况下,每个分区有一个 part-#####-tid-<guid> 格式的文件 模式:字符串
    每分区:String[]
    作为列中的数据:字符串
    输出到单个文件: ['<fileName>'] filePattern
    partitionFileNames
    rowUrlColumn
    partitionFileNames

    接收器示例

    下图是映射数据流中 parquet 接收器配置的示例。

    validateSchema: false, skipDuplicateMapInputs: true, skipDuplicateMapOutputs: true) ~> ParquetSink

    Parquet 的数据类型映射

    从 Parquet 格式的源连接器读取数据时,以下映射用于从 Parquet 数据类型到服务内部使用的临时数据类型。

    Parquet 类型 临时服务数据类型

    若要了解复制活动如何将源架构和数据类型映射到接收器,请参阅 架构和数据类型映射

    Parquet 复杂数据类型(如 MAP、LIST、STRUCT)目前仅在数据流中受支持,而在复制活动中不受支持。 若要在数据流中使用复杂类型,请不要在数据集中导入文件架构,而是在数据集中将架构留空。 然后,在源转换中导入投影。

    复制活动概述 映射数据流 Lookup 活动 GetMetadata 活动