Skip to content

dumpling-overview: add Parquet export documentation - #23933

Open
D3Hunter wants to merge 1 commit into
pingcap:masterfrom
D3Hunter:codex/dumpling-parquet-export-doc
Open

D3Hunter wants to merge 1 commit into
pingcap:masterfrom
D3Hunter:codex/dumpling-parquet-export-doc

Conversation

@D3Hunter

@D3Hunter D3Hunter commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

What is changed, added, or deleted? (Required)

Document the new Dumpling feature that exports table data in Parquet format (implemented in pingcap/tidb#68345) in dumpling-overview.md:

  • Update the introduction and the advantages list to include Parquet alongside SQL and CSV.
  • Add an "Export to Parquet files" section with a --filetype parquet example, and document the related options:
    • --parquet-compress (default snappy; supports no-compression, snappy, gzip, and zstd)
    • --parquet-page-size (default 1MiB)
    • --parquet-row-group-size (default 120MiB)
    • The --compress option is not supported for Parquet files.
  • Note that table schema is still exported as SQL files, so the output can be used as a TiDB Lightning data source.
  • Extend the exported-file format description to {schema}.{table}.{0001}.{sql|csv|parquet}, including the compression suffix in Parquet file names (for example, test.t1.000000000.snappy.parquet).
  • Add the new options to the Dumpling option list and update the --filetype description to (csv/sql/parquet).

Which TiDB version(s) do your changes apply to? (Required)

Tips for choosing the affected version(s):

By default, CHOOSE MASTER ONLY so your changes will be applied to the next TiDB major or minor releases. If your PR involves a product feature behavior change or a compatibility change, CHOOSE THE AFFECTED RELEASE BRANCH(ES) AND MASTER.

For details, see tips for choosing the affected versions.

  • master (the latest development version)
  • v9.0 (TiDB 9.0 versions)
  • v8.5 (TiDB 8.5 versions)
  • v8.1 (TiDB 8.1 versions)
  • v7.5 (TiDB 7.5 versions)
  • v7.1 (TiDB 7.1 versions)
  • v6.5 (TiDB 6.5 versions)

What is the related PR or file link(s)?

AI agent involvement

  • The changes in this PR were primarily made by an AI agent on behalf of the PR author.

Do your changes match any of the following descriptions?

  • Delete files
  • Change aliases
  • Need modification after applied to another branch
  • Might cause conflicts after applied to another branch

Summary by CodeRabbit

  • Documentation
    • Documented Parquet as a supported Dumpling export format.
    • Added guidance for exporting Parquet files, including compression, page size, and row group size options.
    • Clarified that table schemas remain exported as SQL files and that the general compression option does not apply to Parquet.
    • Updated file naming and command-line option references for Parquet exports.

Document the new Dumpling --filetype parquet support (pingcap/tidb#68345): update the format lists, add an "Export to Parquet files" section with the --parquet-compress/--parquet-page-size/--parquet-row-group-size options, note the --compress incompatibility, and extend the exported-file format and option table.
@D3Hunter D3Hunter added the area/dumpling Indicates that the Issue or PR belongs to the area of Dumpling. label Sep 22, 2026
@ti-chi-bot

ti-chi-bot Bot commented Sep 22, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign kissmydb for approval. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot ti-chi-bot Bot added missing-translation-status This PR does not have translation status info. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Sep 22, 2026
@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

📝 Walkthrough

Walkthrough

The Dumpling overview now documents Parquet as an export format. It adds Parquet export usage, compression and sizing options, file naming details, and updates the command-line option reference.

Changes

Dumpling Parquet documentation

Layer / File(s) Summary
Parquet export overview
dumpling-overview.md
The overview lists Parquet as a supported format and documents --filetype parquet, Parquet compression, page size, row group size, and file naming.
Parquet CLI option reference
dumpling-overview.md
The --filetype and --compress entries reflect Parquet behavior. New entries document --parquet-compress, --parquet-page-size, and --parquet-row-group-size.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other

Suggested reviewers: takaidohigasi

Merge Risk: 🔵 Low · up to d4d83

The Parquet documentation is functionally sound but needs two minor documentation corrections to avoid downstream confusion and CI style findings.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely identifies the main change: adding Parquet export documentation to Dumpling.
Description check ✅ Passed The description covers the required change summary, affected version, related code PR, AI involvement, and applicable change categories. It is sufficiently complete and matches the documented changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2


ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: pingcap/docs/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 5eef9f84-3794-41d9-ad95-f476b3ea2159

📥 Commits

Reviewing files that changed from the base of the PR and between 9c6e33b and d4d8363.

📒 Files selected for processing (1)
  • dumpling-overview.md

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.

Comment thread dumpling-overview.md
In the command above:

- Dumpling exports table data as Parquet files, and still exports the table schema as SQL files. You can use the exported files as the data source of [TiDB Lightning](/tidb-lightning/tidb-lightning-overview.md).
- You can use the `--parquet-compress` option to specify the compression algorithm for Parquet files. It supports `no-compression`, `snappy`, `gzip`, and `zstd`. The default value is `snappy`. When compression is enabled, the algorithm is added to the file name. For example, with the `snappy` compression, the exported data file is named as `test.t1.000000000.snappy.parquet`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🔎 Supported by static analysis

🏁 Script executed:

rg -n -C 4 'snappy\.parquet|parquet\.snappy|parquet-compress' --glob '*.go' --glob '*.md'

Repository: pingcap/docs

Length of output: 7314


🏁 Script executed:

#!/bin/bash
set -e
printf '%s\n' '--- tracked relevant files ---'
git ls-files | rg '(^|/)(dumpling|tidb-lightning).*|dumpling-overview\.md'
printf '%s\n' '--- Lightning filename sections ---'
sed -n '300,380p' tidb-lightning/tidb-lightning-data-source.md
printf '%s\n' '--- filename-pattern references ---'
rg -n -C 3 'filename|file name|parquet|compress|schema\}|\{.*csv|sql.*parquet' tidb-lightning/tidb-lightning-data-source.md dumpling-overview.md

Repository: pingcap/docs

Length of output: 35353


🌐 Web query:

official GitHub Dumpling parquet compression filename snappy.parquet tidb-lightning parser

💡 Result:

<source_evidence>

<title>dumpling: support dump data in parquet format</title> GitHub pull request 68345 in pingcap/tidb (link omitted to avoid creating a cross-reference) ### What problem does this PR solve? Issue Number: ref `#68069` Problem Summary: NOTE: this is partial CP from https://github.com/tidbcloud/tidb-cse/pull/1937, most logic are kept as is, we can refactor later Dumpling currently supports SQL and CSV output. The linked issue requests support for exporting table data in Parquet format. ### What changed and how does it work? - Adds Parquet as a Dumpling file type and wires parquet-specific compression, page size, and row group size flags. - Converts SQL column metadata into `pkg/dumpformat/parquetfile.ColumnInfo` and writes raw row bytes through the Parquet writer. - Updates output naming so Parquet dumps include the selected Parquet compression suffix when compression is enabled. ### Check List Tests - [x] Unit test - [ ] Integration test - [x] Manual test (add detailed scripts or steps below) - [ ] No need to test > - [ ] I checked and no code files have been changed. > Manual test steps: - ... 7.0.0.1 ... 4000`; `SELECT tidb ... ()` reported ` ... .0.0-beta.2.pre-169 ... -ge96b62123 ... `. - Checked out and built on this branch: ... gh pr checkout 68345` and `make ... _dumpling`. - Recreated the same Parquet table ... defined in `dumpling/tests/e2e/run.sh`. - Source table: `e2e_parquet ... src.t_types`; destination table ... `. - ... 2e_parquet_ ... 0.79` bytes/row ( ... 10.39 MiB`, targeting ~ ... `./bin/dumpling -u root -h 127.0.0.1 -P 4000 -B e2e_parquet_src -T e2e_parquet_src.t_types --filetype parquet --parquet-compress ... /tmp/dum ... -F 256MiB` - Generated files under `/tmp/dumpling_parquet_68 ... 5_nocompress_20260514_151509 ... `/tmp/ ... pling_parquet_68345_nocompress_20260514_151509 ... e2e_parquet_src ... 00000000 ... 2026 ... 514_151509/e2e_parquet_src.t_types.000000001.parquet` (`248M`), `/tmp/dumpling_parquet_68345_nocompress_20 ... 60514_151509 ... _src.t_types.000000002.parquet` (`63M`). - Imported with ... `IMPORT ... 2e_parquet_dst. ... tmp/dumpling_parquet_68345_ ... 60514_151509 ... e2e_parquet_ ... .t_types.*.parquet&`#39`; ... parquet&`#39`;;` - Validation results: source row count = `524288`, destination row count = `524288`, bidirectional `EXCEPT` diff rows = `0`; source signature = `524288:1125219626002674`, destination signature = `524288:1125219626002674`. Side effects - [ ] Performance regression: Consumes more CPU - [ ] Performance regression: Consumes more Memory - [ ] Breaking backward compatibility Documentation - [x] Affects user behaviors - [ ] Contains syntax changes - [ ] Contains variable changes - [ ] Contains experimental features - [ ] Changes MySQL compatibility ### Release note Please refer to Release Notes Language Style Guide to write a quality release note. ```release-note Dumpling now supports exporting table data in Parquet format. ``` ## Summary by CodeRabbit * **New Features** * Parquet export support with CLI flags for compression, page size, and row-group memory tuning * Parquet-aware output writing and filenames that reflect chosen compression * **Changes** * Default Parquet compression changed to Snappy * Export metadata exposes column info and raw-byte accessors * File-format validation and handling updated for Parquet-specific options * Prometheus metrics ... for Parquet write flows * **Tests ... ions and sizing settings ... Parquet config parsing ... Review ... Stack ... > |**Parquet Configuration and Parsing** `dumpling/export/config.go`, `dumpling/export/config_test.go`|New `Config` fields `ParquetCompressType`, `ParquetPageSize`, `ParquetRowGroupSize` with defaults; CLI flags `--parquet-compress`, `--parquet-page-size`, `--parquet-row-group-size`; parsing helpers including `ParseParquetCompressType` and size parsing; file-format validation disallows `--compress` with Parquet; tests for defaults and overrides.| ... > |**Parquet Library Default Updates** `pkg/dumpformat/parquetfile/writer.go`, `pkg/dumpformat/parquetfile/writer_behavior_test.go`|Default compression changed to Snappy; `defaultRowGroupMe…[truncated] <title>TiDB Lightning Data Sources | TiDB Docs</title> https://docs.pingcap.com/tidb/stable/tidb-lightning-data-source/ | Type | Pattern | ... | Data file | If the data file contains data for a whole table, the file is imported into a table named `${db_name}.${table_name}` | `${db_name}.${table_name}.${csv|sql|parquet}` | | Data file | If the data for a table is split into multiple data files, each data file must be suffixed with a number in its filename | `${db_name}.${table_name}.001.${csv|sql|parquet}` | | Compressed file | If the file contains a compression suffix, such as `gzip`, `snappy`, or `zstd`, TiDB Lightning will decompress the file before importing it. Note that the Snappy compressed file must be in the official Snappy format. Other variants of Snappy compression are not supported. | `${db_name}.${table_name}.${csv|sql|parquet}.{compress}` | ... ## Parquet ... TiDB Lightning currently only supports Parquet files generated by Amazon Aurora, Apache Hive, and Snowflake. To identify the file structure in S3, use the following configuration to match all data files: ... [[mydumper.files]] # The expression needed for parsing Amazon Aurora parquet files pattern = &`#39`;(?i)^(?:[^/]*/)*([a-z0-9\-_]+).([a-z0-9\-_]+)/(?:[^/]*/)*(?:[a-z0-9\-_.]+\.(parquet))$&`#39`; schema = &`#39`;$1&`#39`; table = &`#39`;$2&`#39`; type = &`#39`;$3&`#39`; ... TiDB Lightning currently supports compressed files exported by Dumpling or compressed files that follow the naming rules. Currently, TiDB Lightning supports the following compression algorithms: `gzip`, `snappy`, and `zstd`. When the file name follows the naming rules, TiDB Lightning automatically identifies the compression algorithm and imports the file after streaming decompression, without additional configuration. ... . - TiDB Lightning does not support `parquet` files compressed through another compression tool, such as `db.table.parquet.snappy`. If you want to compress `parquet` files, you can configure the compression format for the `parquet` file writer. ... - TiDB Lightning v6.4.0 and later versions only support the following compressed data files: `gzip`, `snappy`, and `zstd`. Other types of files cause errors. If an unsupported compressed file exists in the directory where the source data file is stored, this will cause the task to report an error. You can move those unsupported files out of the import data directory to avoid such errors. - The Snappy compressed file must be in the official Snappy format. Other variants of Snappy compression are not supported. ... issue, you can use `[[myd ... .files]]` to match data files in your customized expression. ... Take the Aurora snapshot exported to S3 as an example. The complete path of the Parquet file is `S3://some-bucket/some-subdir/some-database/some-database.some-table/part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet`. ... Based on the preceding Parquet file path, you can write a regular expression like `(?i)^(?:[^/]*/)*([a-z0-9\-_]+).([a-z0-9\-_]+)/(?:[^/]*/)*(?:[a-z0-9\-_.]+\.(parquet))$` to match the files. In the match group, `index=1` is `some-database`, `index=2` is `some-table`, and `index=3` is `parquet`. ... You can write the configuration file according to the regular expression and the corresponding index so that TiDB Lightning can recognize the data files that do not follow the default naming convention. For example: ... [[mydumper.files]] # The expression needed for parsing the Amazon Aurora parquet file pattern = &`#39`;(?i)^(?:[^/]*/)*([a-z0-9\-_]+).([a-z0-9\-_]+)/(?:[^/]*/)*(?:[a-z0-9\-_.]+\.(parquet))$&`#39`; schema = &`#39`;$1&`#39`; table = &`#39`;$2&`#39`; type = &`#39`;$3&`#39`; ... - schema: The name of the target database. The value can be: ... - The group index obtained by using a regular expression, such as `$1`. - The name of the database that you want to import, such as `db1`. All matched files are imported into `db1`. - table: The name of the target table. The value can be: ... - The group index obtained by using a regular expression, such as `$2`. - The name of the table that you want to import, such as `table1`. All ma…[truncated] <title>TiDB Lightning Data Sources - dev | TiDB Docs</title> https://docs.pingcap.com/tidb/dev/tidb-lightning-data-source/ TiDB Lightning supports importing data from multiple data sources to TiDB clusters, including CSV, SQL, and Parquet files. ... | Data file | If the data file contains data for a whole table, the file is imported into a table named`${db_name}.${table_name}` | `${db_name}.${table_name}.${csv|sql|parquet ... | Data file | If the data for a table is split into multiple data files, each data file must be suffixed with a number in its filename | `${db_name}.${table_name}.001.${csv|sql|parquet}` | ... | Compressed file | If the file contains a compression suffix, such as`gzip`,`snappy`, or`zstd`, TiDB Lightning will decompress the file before importing it. Note that the Snappy compressed file must be in the official Snappy format. Other variants of Snappy compression are not supported. | `${db_name}.${table_name}.${csv|sql|parquet}.{compress}` | ... file`pattern` is`&`#39`;^({schema_regrex})\.({table_regrex})\. ... file_serial_regrex})\.(csv|parquet ... `&`#39`;$4 ... ## Parquet ... TiDB Lightning currently only supports Parquet files generated by Amazon Aurora, Apache Hive, and Snowflake. To identify the file structure in S3, use the following configuration to match all data files: ... ``` [[mydumper.files]] # The expression needed for parsing Amazon Aurora parquet files pattern = &`#39`;(?i)^(?:[^/]*/)*([a-z0-9\-_]+).([a-z0-9\-_]+)/(?:[^/]*/)*(?:[a-z0-9\-_.]+\.(parquet))$&`#39`; ... schema = &`#39`;$1&`#39`; table = &`#39`;$2&`#39`; type = &`#39`;$3&`#39`; ... TiDB Lightning currently supports compressed files exported by Dumpling or compressed files that follow the naming rules. Currently, TiDB Lightning supports the following compression algorithms:`gzip`,`snappy`, and`zstd`. When the file name follows the naming rules, TiDB Lightning automatically identifies the compression algorithm and imports the file after streaming decompression, without additional configuration. ... - TiDB Lightning does not support`parquet` files compressed through another compression tool, such as`db.table.parquet.snappy`. If you want to compress`parquet` files, you can configure the compression format for the`parquet` file writer. ... - TiDB Lightning v6.4.0 and later versions only support the following compressed data files:`gzip`,`snappy`, and`zstd`. Other types of files cause errors. If an unsupported compressed file exists in the directory where the source data file is stored, this will cause the task to report an error. You can move those unsupported files out of the import data directory to avoid such errors. ... - The Snappy compressed file must be in the official Snappy format. Other variants of Snappy compression are not supported. ... To resolve this issue, you can use`[[mydumper.files]]` to match data files in your customized expression. ... Take the Aurora snapshot exported to S3 as an example. The complete path of the Parquet file is`S3://some-bucket/some-subdir/some-database/some-database.some-table/part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet`. ... Based on the preceding Parquet file path, you can write a regular expression like`(?i)^(?:[^/]*/)*([a-z0-9\-_]+).([a-z0-9\-_]+)/(?:[^/]*/)*(?:[a-z0-9\-_.]+\.(parquet))$` to match the files. In the match group,`index=1` is`some-database`,`index=2` is`some-table`, and`index=3` is`parquet`. ... You can write the configuration file according to the regular expression and the corresponding index so that TiDB Lightning can recognize the data files that do not follow the default naming convention. For example: ... ``` [[mydumper.files]] # The expression needed for parsing the Amazon Aurora parquet file pattern = &`#39`;(?i)^(?:[^/]*/)*([a-z0-9\-_]+).([a-z0-9\-_]+)/(?:[^/]*/)*(?:[a-z0-9\-_.]+\.(parquet))$&`#39`; schema = &`#39`;$1&`#39`; table = &`#39`;$2&`#39`; type = &`#39`;$3&`#39`; ``` ... The value can be: ... - - The group index obtained by using a regular expression, such as`$1`. ... such as`db1`. All matched files are imported into`db1`. ... the target table ... - type: The file type. Supports`sql`,…[truncated] <title>dumpling/export/config.go</title> https://github.com/pingcap/tidb/blob/master/dumpling/export/config.go "no- ... = "no ... "csv-null-value" ... flagSQL = "sql" ... CaseSensitive = "case-sensitive ... Database = " ... -empty-database" ... TidbMemQuotaQuery = "tidb-mem- ... " flagCA = "ca" flagCert ... Key = "key" flagCsvSeparator = "csv-separator" flagCsvDelimiter = "csv-delimiter" flagCsvLineTerminator = "csv-line ... terminator" flagOutputFilenameTemplate = "output-filename-template" flagCompleteInsert = "complete-insert" flagParams = "params" flagReadTimeout = "read-timeout" flagTransactionalConsistency = "transactional-consistency" flagCompress = "compress" flagCsvOutputDialect = "csv-output-dialect" flagPDAddr = "pd" flagClusterSSLCA = "cluster-ssl-ca" flagClusterSSLCert = "cluster-ssl-cert" flagClusterSSLKey = "cluster-ssl-key" flagPartitions = "partitions" flagParquetCompress = "parquet-compress" flagParquetPageSize = "parquet-page-size" flagParquetRowGroupSize = "parquet-row-group-size" // FlagHelp represents the help flag FlagHelp = "help" ) ... // ClusterSSLCA/ClusterSSLCert/ClusterSSLKey override Security.* when connecting // to PD endpoints for GC control. ClusterSSLCA string ClusterSSLCert string ClusterSSLKey string // ParquetCompressType is the parquet row-group compression type. ParquetCompressType compressedio.CompressType // ParquetPageSize is the parquet data page size in bytes. ParquetPageSize int64 ... // ParquetRowGroupSize is the parquet row-group flush threshold by accounted // in ... memory bytes. ParquetRowGroupSize int64 ... StatementSize, OutputDirPath: ".", Server ... : ServerInfoUnknown, Sort ... Pk: true, Tables: nil, Snapshot: "", Consistency: ConsistencyTypeAuto, NoViews: true, NoSequences: true, Rows: UnspecifiedSize ... Where: "", EscapeBackslash ... true, FileType ... "", NoHeader: false, NoSchemas ... false, NoData: false ... Csv ... Value: "\\N", SQL: "", TableFilter: allFilter, DumpEmptyDatabase: true, CsvDelimiter: "\"", CsvSeparator: ",", CsvLineTerminator: "\r\n", SessionParams: make(map[string]any), OutputFileTemplate: DefaultOutputFileTemplate, PosAfterConnect: false, CollationCompatible: LooseCollationCompatible, CsvOutputDialect: CSVDialectDefault, ... Tables: false, PromFactory: promutil.NewDefaultFactory(), PromRegistry: promutil.NewDefaultRegistry(), TransactionalConsistency: true, PDAddr: "", ClusterSSLCA: "", ClusterSSLCert: "", ClusterSSLKey: "", ParquetCompressType: parquetfile.DefaultCompressionType, ParquetPageSize: units.MiB, ParquetRowGroupSize: parquetfile.DefaultRowGroupMemoryLimitBytes, } ... default &`#39`;\\r\\n&`#39`;") ... .String( ... FilenameTemplate, "", "The output filename template (without file extension). When used with --rows/-r or --filesize/-F in split mode, include {{.Index}} (for example: &`#39`;{{.DB}}.{{.Table}}.{{.Index}}&`#39`;) to avoid overwriting chunk files") ... complete INSERT statements that include ... names") ... nil, ` ... used while dumping ... client=latin1,character_set_connection=latin1"`) flags.Bool(FlagHelp, false, "Print ... message and quit") flags.Duration(flagReadTimeout, 15*time.Minute, "I/O read timeout for db connection.") _ = flags.MarkHidden(flagReadTimeout) flags.Bool(flagTransactionalConsistency, true, "Only support transactional consistency") _ = flags.MarkHidden(flagTransactionalConsistency) flags.StringP(flagCompress, "c", "", "Compress output file type, support &`#39`;gzip&`#39`;, &`#39`;snappy&`#39`;, &`#39`;zstd&`#39`;, &`#39`;no-compression&`#39`; now") flags.String(flagCsvOutputDialect, "", "The dialect of output CSV file, suppo…[truncated] <title>Dumpling Overview | TiDB Docs</title> https://docs.pingcap.com/tidb/stable/dumpling-overview/ ### Compress the exported data files ... You can use the `--compress ` option to compress the CSV and SQL data and table structure files exported by Dumpling. This parameter supports the following compression algorithms: `gzip`, `snappy`, and `zstd`. The compression is disabled by default. ... - This option only compresses individual data and table structure files. It cannot compress the entire folder and generate a single compressed package. - This option can save disk space, but it also slows down the export speed and increases CPU consumption. Use this option with caution in scenarios where the export speed is critical. - For TiDB Lightning v6.5.0 and later versions, you can use compressed files exported by Dumpling as the data source without additional configuration. ... The Snappy compressed file must be in the official Snappy format. Other variants of Snappy compression are not supported. ... - The `--compress ` option specifies the compression format of the dump. It supports the following compression algorithms: `gzip`, `snappy`, and `zstd`. This option can speed up dumping of data if storage is the bottleneck or if storage capacity is a concern. The drawback is an increase in CPU usage. Each file is compressed individually. ... | `-c` or `--compress` | Compresses the CSV and SQL data and table structure files exported by Dumpling. It supports the following compression algorithms: `gzip`, `snappy`, and `zstd`. | "" |

Citations:


🌐 Web query:

site:github.com/pingcap/tidb "snappy.parquet" "parquet-compress"

💡 Result:

<source_evidence>

<title>dumpling/export/config.go</title> https://github.com/pingcap/tidb/blob/master/dumpling/export/config.go ences = "no ... = "order-by-primary-key" flagStatusAddr = "status-addr" flagRows = "rows" flagWhere = "where" flagEscapeBackslash = "escape-backslash" ... Filetype = "filetype" flagNo ... = "no-header" flagNoSchemas = "no-schemas" flagNoData = "no-data" flagCsvNullValue = "csv-null-value" flagSQL = "sql" flagFilter = "filter" flagCaseSensitive = "case-sensitive" flagDumpEmptyDatabase = "dump-empty-database" flagTidbMemQuotaQuery = "tidb-mem-quota-query" flagCA = "ca" flagCert = "cert" flagKey = "key" flagCsvSeparator = "csv-separator" flagCsvDelimiter = "csv-delimiter" flagCsvLineTerminator = "csv-line-terminator" flagOutputFilenameTemplate = "output-filename-template" flagCompleteInsert = "complete-insert" flagParams = "params" flagReadTimeout = "read-timeout" flagTransactionalConsistency = "transactional-consistency" flagCompress = "compress" flagCsvOutputDialect = "csv-output-dialect" flagPDAddr = "pd" flagClusterSSLCA = "cluster-ssl-ca" flagClusterSSLCert = "cluster-ssl-cert" flagClusterSSLKey = "cluster-ssl-key" flagPartitions = "partitions" flagParquetCompress = "parquet-compress" flagParquetPageSize = "parquet-page-size" flagParquetRowGroupSize = "parquet-row-group-size" // FlagHelp represents the help flag FlagHelp = "help" ) ... // ClusterSSLCA/ClusterSSLCert/ClusterSSLKey override Security.* when ... // to PD endpoints for GC control. ... SSLCA string ClusterSSLCert string ClusterSSLKey string // ParquetCompressType is the parquet row-group compression type. ParquetCompressType compressedio.CompressType // ParquetPageSize is the parquet data page size in bytes. ParquetPageSize int64 // ParquetRowGroupSize is the parquet row-group flush threshold by accounted // in-memory bytes. ParquetRowGroupSize int64 ... Size, ... : ".", ... Unknown, ... Pk: true ... : "", Consistency: ConsistencyTypeAuto ... Views: true ... Sequences: true ... Database: true, ... "\"", ... Separator: ",", ... [string]any ... Connect: false ... Collation ... : LooseCollationCompatible ... Csv ... ect: CSVD ... PromFactory: promutil ... PromRegistry: ... .NewDefault ... TransactionalConsistency ... true, PDAddr: "", ClusterSSLCA: "", Cluster ... LCert: "", Cluster ... "", ParquetCompressType: parquetfile.DefaultCompressionType, Parquet ... Size: units.MiB, ParquetRowGroupSize: parquetfile.DefaultRowGroupMemoryLimitBytes, ... .String( ... &`#39`;\\r\\ ... .String( ... output filename template (without file extension ... When used with ... rows/-r or --filesize/-F in split mode, ... {{.Index}} (for example: &`#39`;{{.DB}}.{{. ... to avoid overwriting chunk ... client=latin1,character_set_connection=latin1"`) flags.Bool(FlagHelp, false, "Print help message and quit") flags.Duration(flagReadTimeout, 15*time.Minute, "I/O read timeout for db connection.") _ = flags.MarkHidden(flagReadTimeout) flags.Bool(flagTransactionalConsistency, true, "Only support transactional consistency") _ = flags.MarkHidden(flagTransactionalConsistency) flags.StringP(flagCompress, "c", "", "Compress output file type, support &`#39`;gzip&`#39`;, &`#39`;snappy&`#39`;, &`#39`;zstd&`#39`;, &`#39`;no-compression&`#39`; now") flags.String(flagCsvOutputDialect, "", "The dialect of output CSV file, support &`#39`;snowflake&`#39`;, &`#39`;redshift&`#39`;, &`#39`;bigquery&`#39`; now") flags.StringSlice(flagPartitions, nil, "The table partitions to dump. Every listed partition must exist on all selected base tables; incompatible with --sql. TiDB >= v5.0.0 only"…[truncated] <title>dumpling: support dump data in parquet format</title> GitHub pull request 68345 in pingcap/tidb (link omitted to avoid creating a cross-reference) --- ### What problem does this PR solve? Issue Number: ref `#68069` Problem Summary: NOTE: this is partial CP from https://github.com/tidbcloud/tidb-cse/pull/1937, most logic are kept as is, we can refactor later Dumpling currently supports SQL and CSV output. The linked issue requests support for exporting table data in Parquet format. ### What changed and how does it work? - Adds Parquet as a Dumpling file type and wires parquet-specific compression, page size, and row group size flags. - Converts SQL column metadata into `pkg/dumpformat/parquetfile.ColumnInfo` and writes raw row bytes through the Parquet writer. - Updates output naming so Parquet dumps include the selected Parquet compression suffix when compression is enabled. ### Check List Tests - [x] Unit test - [ ] Integration test - [x] Manual test (add detailed scripts or steps below) - [ ] No need to test > - [ ] I checked and no code files have been changed. > Manual ... - Local cluster: TiDB on ` ... 27.0.0.1:4000`; `SELECT tidb_version()` reported `v9.0.0-beta.2.pre-1699-ge96b621239`. - Checked out and built on this branch: `gh pr checkout 68345` and `make build_dumpling`. - Recreated the same Parquet table schema defined in `dumpling/tests/e2e/run.sh`. - Source table: `e2e_parquet_src.t_types`; destination table: `e2e ... `. - Generated `524288` rows in `e2e_parquet_src.t_types` with average payload `1020.79` bytes/row (about `510.39 MiB`, targeting ~`512 MiB`). - Dumped Parquet using: `./bin/dumpling -u root -h 127.0.0.1 -P 4000 -B e2e_parquet_src -T e2e_parquet_src.t_types --filetype parquet --parquet-compress no-compression -o /tmp/dumpling_parquet_68345_nocompress_20260514_151509 -F 256MiB` - Generated files under `/tmp/dumpling_parquet_68345_nocompress_20260514_151509`: `/tmp/dumpling_parquet_68345_nocompress_20260514_151509/e2e_parquet_src.t_types.000000000.parquet` (`248M`), `/tmp/dumpling_parquet_68345_nocompress_20260514_151509/e2e_parquet_src.t_types.000000001.parquet` (`248M`), `/tmp/dumpling_parquet_68345_nocompress_20260514_151509/e2e_parquet_src.t_types.000000002.parquet` (`63M`). - Imported with: `IMPORT INTO e2e_parquet_dst.t_types FROM &`#39`;/tmp/dumpling_parquet_68345_nocompress_20260514_151509/e2e_parquet_src.t_types.*.parquet&`#39`; FORMAT &`#39`;parquet&`#39`;;` - Validation results: source row count = `524288`, destination row count = `524288`, bidirectional `EXCEPT` diff rows = `0`; source signature = `524288:1125219626002674`, destination signature = `524288:1125219626002674`. Side effects - [ ] Performance regression: Consumes more CPU - [ ] Performance regression: Consumes more Memory - [ ] Breaking backward compatibility Documentation - [x] Affects user behaviors - [ ] Contains syntax changes - [ ] Contains variable changes - [ ] Contains experimental features - [ ] Changes MySQL compatibility ### Release note Please refer to Release Notes Language Style Guide to write a quality release note. ```release-note Dumpling now supports exporting table data in Parquet format. ``` ## Summary by CodeRabbit * **New Features** * Parquet export support with CLI flags for compression, page size, and row-group memory tuning * Parquet-aware output writing and filenames that reflect chosen compression * **Changes** * Default Parquet compression changed to Snappy * Export metadata exposes column info and raw-byte accessors * File-format validation and handling updated for Parquet-specific options * Prometheus metrics adjusted for Parquet write flows * **Tests** * E2E Parquet export/import verification across compressions and sizing settings * Unit tests for Parquet config parsing and writer behavior * **Chores** * CI: upload dumpling test logs on failures Review Change Stack ## ... > |**Parquet Configuration and Parsing** `dumpling/export/config.go`, `dumpling/export/config_test.go`|New `Config` fields `ParquetCompressType`, `ParquetPageSize`, `ParquetRowGroupSize` with defaults; CLI flags `--parquet-compress`, `--parquet-page-size`, `--par…[truncated] <title>lightning: Compress Reader/Writer supports reading/writing Snappy/Zstd type compressed files · Pull Request `#38603` · pingcap/tidb</title> GitHub pull request 38603 in pingcap/tidb (link omitted to avoid creating a cross-reference) ## lightning: Compress Reader/Writer supports reading/writing Snappy/Zstd type compressed files ... Compress Reader supports reading Snappy/Zstd type compressed files Compress Writer supports writing Snappy/Zstd type compressed files ... snappy part LGTM. Looking forward to lzo/zstd. ... **lyzx2001** pushed commit `f5ef657`: compress reader/writer support reading/writing zstd type compressed files · Oct 28, 2022 at 3:56am ... > zstd is supported now. ... **lyzx2001** changed the title from "lightning: Compress Reader/Writer supports reading/writing Snappy type compressed files" to "lightning: Compress Reader/Writer supports reading/writing Snappy/Zstd type compressed files" · Oct 28, 2022 at 3:58am ... **lyzx2001** pushed commit `215831a`: compress reader/writer support reading/writing snappy/zstd type compressed files · Oct 28, 2022 at 10:46am <title>lightning: support import compressed csv/sql files to save cost</title> GitHub issue 38514 in pingcap/tidb (link omitted to avoid creating a cross-reference) # lightning: support import compressed csv/sql files to save cost - State: closed - Author: lichunzhu - Created: 2022-10-18T06:05:37Z - Updated: 2023-01-05T12:48:12Z - Repository: pingcap/tidb - Number: `#38514` ## Labels - type/feature-request - component/lightning - component/dumpling --- ## Feature Request **Is your feature request related to a problem? Please describe:** > For checkpoint I&`#39`;m thinking of skip the leading bytes until reader&`#39`;s pos exceeds chunk.Offset. > > It does work. However, can we look into whether we can seek directly on the compressed file? One idea is to save the state of compress reader to checkpoint, so we continue reading from last pos after lightning restarts. **lichunzhu** commented on 2022-11-03T06:18:45Z: > > > For checkpoint I&`#39`;m thinking of skip the leading bytes until reader&`#39`;s pos exceeds chunk.Offset. > > > > It does work. However, can we look into whether we can seek directly on the compressed file? One idea is to save the state of compress reader to checkpoint, so we continue reading from last pos after lightning restarts. > > I&`#39`;m afraid that not every compress reader supports reading start from an offset. I will do a survey to check whether it&`#39`;s okay. - Referenced by PR `#38910`: dumpling: compress supports snappy/zstd - Referenced by PR `#38946`: lightning: support checkpoint read for compress files - Referenced in commit 481f5ab - Referenced in commit 78d1905 - Referenced by PR `#39153`: lightning: support compress for lightning, add compress unit and integration tests - Referenced by PR `#39219`: lightning: refine progress for compress files import - Referenced by PR `#12083`: dumpling, lightning: add document for compressed files support - Referenced in commit 5b9d96b - Referenced by PR `#12100`: add v6.5.0 release notes - Referenced in commit 10b3bc7 - Referenced by PR `#39680`: *: support sample for compressed files for adjustment - lichunzhu added label "component/dumpling" - Referenced in commit 0c18082 - lichunzhu closed - Referenced in commit 5ad0c09 <title>lightning, importinto: validate Parquet format before parsing metadata</title> GitHub pull request 66949 in pingcap/tidb (link omitted to avoid creating a cross-reference) ### What problem does this PR solve? Issue Number: close `#66948` Problem Summary: When users misconfigure the data format (e.g. using the Parquet parser on CSV/SQL files), the Arrow library produces confusing "invalid offset" errors from footer parsing. Users cannot tell from the error message that they specified the wrong format. **Additionally, when calculating the failure rate, errors in statistics may also occur. For example, we shouldn&`#39`;t treat this kind of scenarios as failure.** ### What changed and how does it work? - Add `parseParquetMetaData()` in `parquet_wrapper.go` that reads and validates the Parquet footer ourselves, producing three categories of sentinel errors: - `ErrNotParquet`: file is not Parquet (wrong magic, too small) - `ErrParquetCorrupt`: file has Parquet magic but broken metadata - `ErrParquetEncrypted`: encrypted Parquet (`PARE` magic) is not supported - Raw I/O errors are returned unwrapped - Pass parsed metadata to Arrow via `file.WithMetadata()` to skip its internal `parseMetaData()`, eliminating double-parse overhead and extra I/O. - Use `SourceFileMeta.FileSize` (always initialized from file iteration) instead of `SeekEnd` to avoid an extra round-trip on cloud storage. - Simplify `NewParquetParser` and `SampleStatisticsFromParquet` signatures to accept `SourceFileMeta` instead of scattered `path`/`meta`/`fileSize` params. ### Check List Tests - [x] Unit test - [ ] Integration test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test > - [ ] I checked and no code files have been changed. > Side effects - [ ] Performance regression: Consumes more CPU - [ ] Performance regression: Consumes more Memory - [ ] Breaking backward compatibility Documentation - [ ] Affects user behaviors - [ ] Contains syntax changes - [ ] Contains variable changes - [ ] Contains experimental features - [ ] Changes MySQL compatibility ### Release note Please refer to Release Notes Language Style Guide to write a quality release note. ```release-note Improve error messages when the Parquet parser is used on non-Parquet files (e.g. CSV or SQL), replacing confusing "invalid offset" errors with clear diagnostics ... format mismatch. ... ## Summary by CodeRabbit ... > > > > > 📝 Walkthrough > > ## Walkthrough > > Callers now pass a single file metadata struct (SourceFileMeta / FileMeta) into Parquet helpers; a new parseParquetMetaData routine validates/parses Parquet footers and returns explicit Parquet errors before creating the Arrow Parquet reader via WithMetadata. > > ## Changes > > |Cohort / File(s)|Summary| > |---|---| > |**Parquet core & wrapper** `pkg/lightning/mydump/parquet_parser.go`, `pkg/lightning/mydump/parquet_wrapper.go`|Added `parseParquetMetaData` to read/validate Parquet footer and new explicit errors (`ErrNotParquet`, `ErrParquetCorrupt`, `ErrParquetEncrypted`). Changed `NewParquetParser` and `SampleStatisticsFromParquet` to accept `SourceFileMeta`/`FileMeta`; parser now uses parsed metadata with `WithMetadata`.| ... > |**Call sites / importer flow** `lightning/pkg/importer/chunk_process.go`, `lightning/pkg/importer/get_pre_info.go`, `pkg/executor/importer/import.go`, `pkg/lightning/mydump/loader.go`|Updated callers to construct/pass a single metadata struct (`SourceFileMeta`/`FileMeta`) and adjusted argument order; added explicit error checks after parser creation where applicable.| ... > |**Tests & test helpers** `pkg/lightning/mydump/parquet_parser_test.go`, `pkg/lightning/mydump/loader_test.go`, `tests/realtikvtest/importintotest/parquet_test.go`|Tests updated to stat files to obtain `FileSize`, construct `SourceFileMeta`, adapt helpers to new `NewParquetParser` signature, added metadata-parsing unit test and an IMPORT INTO invalid-parquet test covering corrupt/encrypted cases.| ... > |**Error codes & mapping** `pkg/errno/errcode.go`, `pkg/errno/errname.go`, `pkg/util/dbterr…[truncated]

Citations:

  • 1: https://github.com/pingcap/tidb/blob/master/dumpling/export/config.go
  • 2: GitHub pull request 68345 in pingcap/tidb (link omitted to avoid creating a cross-reference)
  • 3: GitHub pull request 38603 in pingcap/tidb (link omitted to avoid creating a cross-reference)
  • 4: GitHub issue 38514 in pingcap/tidb (link omitted to avoid creating a cross-reference)
  • 5: GitHub pull request 66949 in pingcap/tidb (link omitted to avoid creating a cross-reference)
  • 6: GitHub issue 67849 in pingcap/tidb (link omitted to avoid creating a cross-reference)

🏁 Script executed:

python3 - <<'PY'
import json
import urllib.request

url = "https://api.github.com/repos/pingcap/tidb/pulls/68345/files?per_page=100"
request = urllib.request.Request(url, headers={"Accept": "application/vnd.github+json", "User-Agent": "review-inspection"})
with urllib.request.urlopen(request, timeout=20) as response:
    files = json.load(response)

for item in files:
    patch = item.get("patch", "")
    text = (item.get("filename", "") + "\n" + patch).lower()
    if any(term in text for term in ("parquet", "filename", "extension", "compress")):
        print(f"--- {item['filename']} ---")
        print(patch)
PY

Repository: pingcap/docs

Length of output: 2436


🏁 Script executed:

set -e
curl -kfsSL -H 'Accept: application/vnd.github+json' -H 'User-Agent: review-inspection' \
  'https://api.github.com/repos/pingcap/tidb/pulls/68345/files?per_page=100' |
python3 -c '
import json, sys
for item in json.load(sys.stdin):
    patch = item.get("patch", "")
    text = (item.get("filename", "") + "\n" + patch).lower()
    if any(term in text for term in ("parquet", "filename", "extension", "compress")):
        print("--- " + item["filename"] + " ---")
        print(patch)
'

Repository: pingcap/docs

Length of output: 33228


Clarify the native Parquet filename exception in the TiDB Lightning documentation.

Dumpling emits test.t1.000000000.snappy.parquet, not test.t1.000000000.parquet.snappy. TiDB Lightning has a dedicated route for native Parquet compression and matches the snappy.parquet form before the generic compressed-file route. Keep the Dumpling examples unchanged.

The generic pattern in tidb-lightning/tidb-lightning-data-source.md:27 conflicts with this behavior and with its note at line 368. Limit that pattern to CSV and SQL files, or document the native Parquet exception explicitly.

Comment thread dumpling-overview.md
Comment on lines +447 to +448
| `--parquet-page-size` | The data page size of Parquet files. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 1MiB |
| `--parquet-row-group-size` | The row group memory limit of Parquet files, which is the flush threshold by accounted in-memory bytes. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 120MiB |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🔎 Supported by static analysis

🏁 Script executed:

rg -n --hidden -S 'PingCAP\.Units|Vale|vale|non.?breaking|Units' . --glob '!vendor/**' --glob '!node_modules/**'
sed -n '430,455p' dumpling-overview.md

Repository: pingcap/docs

Length of output: 41016


🤖 get_repo_knowledge executed:

get_repo_knowledge pingcap/docs /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/conventions /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/learnings

Length of output: 4452


🏁 Script executed:

#!/bin/bash
set -u
printf '%s\n' '--- relevant tracked files ---'
git ls-files | rg '(^|/)(\.vale\.ini|vale|Vale|markdownlint|dumpling-overview\.md|ci\.yaml)$|styles/PingCAP/Units\.yml|scripts/' | head -120
printf '%s\n' '--- .vale.ini ---'
if [ -f .vale.ini ]; then cat -n .vale.ini; else printf '%s\n' 'missing'; fi
printf '%s\n' '--- Units rule ---'
if [ -f styles/PingCAP/Units.yml ]; then cat -n styles/PingCAP/Units.yml; else printf '%s\n' 'missing'; fi
printf '%s\n' '--- Vale references in scripts/workflow ---'
rg -n -S 'vale|Vale|PingCAP\.Units|stylesPath|BasedOnStyles|formats|glob|exclude' scripts .github .vale.ini styles 2>/dev/null | head -200
printf '%s\n' '--- target lines and nearby Markdown unit examples ---'
cat -n dumpling-overview.md | sed -n '420,455p'
printf '%s\n' '--- relevant Markdown guidance/config ---'
rg -n -S 'Markdown|Vale|nonbreaking|non-breaking|unit|nbsp' README.md CONTRIBUTING.md .github resources scripts 2>/dev/null | head -200

Repository: pingcap/docs

Length of output: 39267


🏁 Script executed:

#!/bin/bash
set -u
printf '%s\n' '--- CI Vale job ---'
cat -n .github/workflows/ci.yaml | sed -n '55,78p'
printf '%s\n' '--- changed-file Vale plumbing ---'
rg -n -S 'vale-action|vale |Vale|extract-changed-markdown|changed.*md|\.md' .github/workflows .github/scripts scripts 2>/dev/null | head -120
printf '%s\n' '--- repository nonbreaking-space examples ---'
rg -n -S '&nbsp;|&`#160`;|U\+00A0' --glob '*.md' --glob '*.mdx' . | head -80
printf '%s\n' '--- all target literals in the file ---'
rg -n -F -e '1MiB' -e '120MiB' dumpling-overview.md

Repository: pingcap/docs

Length of output: 15224


🏁 Script executed:

#!/bin/bash
set -u
printf '%s\n' '--- nearby Parquet section ---'
cat -n dumpling-overview.md | sed -n '155,175p'
printf '%s\n' '--- targeted diff for dumpling-overview.md ---'
git diff --unified=2 -- dumpling-overview.md | rg -n -C 3 'parquet|MiB|@@' | head -180

Repository: pingcap/docs

Length of output: 2022


Add nonbreaking spaces to the Parquet size defaults.

PingCAP.Units applies to this Markdown table and flags 1MiB and 120MiB. Use &nbsp; between each number and unit.

Committable replacement
-| `--parquet-page-size` | The data page size of Parquet files. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 1MiB |
-| `--parquet-row-group-size` | The row group memory limit of Parquet files, which is the flush threshold by accounted in-memory bytes. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 120MiB |
+| `--parquet-page-size` | The data page size of Parquet files. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 1&nbsp;MiB |
+| `--parquet-row-group-size` | The row group memory limit of Parquet files, which is the flush threshold by accounted in-memory bytes. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 120&nbsp;MiB |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| `--parquet-page-size` | The data page size of Parquet files. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 1MiB |
| `--parquet-row-group-size` | The row group memory limit of Parquet files, which is the flush threshold by accounted in-memory bytes. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 120MiB |
| `--parquet-page-size` | The data page size of Parquet files. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 1&nbsp;MiB |
| `--parquet-row-group-size` | The row group memory limit of Parquet files, which is the flush threshold by accounted in-memory bytes. The unit must be specified such as `128B`, `64KiB`, `32MiB`, and `1.5GiB`. | 120&nbsp;MiB |
🧰 Tools
🪛 GitHub Check: vale

[failure] 448-448:
[vale] reported by reviewdog 🐶
[PingCAP.Units] Put a nonbreaking space between the number and the unit in '120MiB'.

Raw Output:
{"message":"[PingCAP.Units] Put a nonbreaking space between the number and the unit in '120MiB'.","location":{"path":"dumpling-overview.md","range":{"start":{"line":448,"column":213},"end":{"line":448,"column":219}}},"severity":"ERROR","code":{"value":"PingCAP.Units","url":"https://developers.google.com/style/units-of-measure"}}


[failure] 447-447:
[vale] reported by reviewdog 🐶
[PingCAP.Units] Put a nonbreaking space between the number and the unit in '1MiB'.

Raw Output:
{"message":"[PingCAP.Units] Put a nonbreaking space between the number and the unit in '1MiB'.","location":{"path":"dumpling-overview.md","range":{"start":{"line":447,"column":141},"end":{"line":447,"column":145}}},"severity":"ERROR","code":{"value":"PingCAP.Units","url":"https://developers.google.com/style/units-of-measure"}}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/dumpling Indicates that the Issue or PR belongs to the area of Dumpling. missing-translation-status This PR does not have translation status info. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant