Extract with Regex from Parquet Files Online
Extract text matching a regular expression from Parquet files directly in your browser. Pull out emails, URLs, phone numbers, or any pattern into a new column — no upload required.
How to extract with Regex from Parquet files
- Drop your file onto the upload area. The first 200 rows are shown, and the first text column is selected for you.
- Pick the text column to search. Only text (VARCHAR) columns are listed, so a column the reader loaded as numbers or dates will not appear.
- Type a regular expression, such as [A-Z]+-\d+, and name the new column. The default name is extracted.
- Choose First match, or All matches to join every match in a cell with a comma and a space. Click Extract.
- Check the new column at the end of the preview, then download the result in the same format you uploaded.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Worked example
A release manager exports the commit log for a sprint and wants a list of the Jira issue keys each commit mentions, so the release notes can link to the tickets.
Input (Parquet)
Parquet file (binary, columnar) — shown as a table with its schema
| commit | author | message |
|---|---|---|
| a41f9c2 | priya | PAY-212 fix rounding in invoice totals |
| 7be03d1 | tom | Merge PAY-215 and WEB-88 hotfixes |
| c9d2e47 | priya | Bump lodash to 4.17.21 |
| e18a6b0 | sam | web-91: tidy header spacing |
Schema: commit VARCHAR, author VARCHAR, message VARCHAR
Settings
- Text column: message
- Regex pattern: [A-Z]+-\d+
- Output column name: issue_keys
- Match mode: All matches (comma-separated)
Result
| commit | author | message | issue_keys |
|---|---|---|---|
| a41f9c2 | priya | PAY-212 fix rounding in invoice totals | PAY-212 |
| 7be03d1 | tom | Merge PAY-215 and WEB-88 hotfixes | PAY-215, WEB-88 |
| c9d2e47 | priya | Bump lodash to 4.17.21 | NULL |
| e18a6b0 | sam | web-91: tidy header spacing | NULL |
All original columns are kept and issue_keys is added at the end. The merge commit mentions two tickets, so both are joined with a comma and a space. The lodash bump has no match and gets NULL. So does web-91, because matching is case-sensitive and the pattern only allows capital letters. Start the pattern with (?i) to ignore case.
Working with Parquet files
Parquet stores a type for every column, so the column list shows exactly the string columns in the schema. Integer, decimal, date and timestamp columns are left out, and so are struct, list and map columns. A log message stored inside a struct, such as payload.message, cannot be picked here. Use the SQL Query tool with regexp_extract on the nested field instead, or select it out into its own top-level column first.
The new column is added at the end of the schema as a string column. Every other column keeps its type, and timestamps keep their full precision. Rows with no match are written as real nulls in both modes, so null counts in the file statistics show how many rows did not match.
Frequently Asked Questions
Does extracting change the types of my other Parquet columns?
No. The existing columns are copied with their original names and types. One string column is added at the end of the schema.
How can I tell which Parquet rows had no match?
They are null in both modes, so any tool that counts or filters nulls finds them.
What happens when a cell has no match?
The new column holds NULL, in both First match and All matches mode. Cells that were already NULL stay NULL.
Can I extract only a capture group?
Yes. If the pattern has a capture group, the text inside the first group is returned. SKU-(\d+) returns 4471 from SKU-4471. Without parentheses the whole match is returned. Use (?:...) for grouping that should not capture.
Which regex syntax is supported?
RE2 syntax. Character classes, quantifiers, alternation, anchors and inline flags such as (?i) all work. Lookaheads, lookbehinds and backreferences are not supported and return an error. Matching is case-sensitive unless you add (?i).
Related Tools
Split Column in Parquet Files Online
Split a column into multiple columns by delimiter in Parquet files directly in your browser. Turn "First Last" into separate first and last name columns — no upload required.
Count Values in Parquet Files Online
Group and count rows by any column in Parquet files directly in your browser. Sort by frequency or value to find the most common entries — no upload required.
Filter Parquet Files Online
Filter rows in Parquet files by column value, directly in your browser. Your data stays on your device.
Extract with Regex from CSV Files Online
Extract text matching a regular expression from CSV files directly in your browser. Pull out emails, URLs, phone numbers, or any pattern into a new column — no upload required.
Extract with Regex from Excel Files Online
Extract text matching a regular expression from Excel files directly in your browser. Pull out emails, URLs, phone numbers, or any pattern into a new column — no upload required.
Extract with Regex from JSON Files Online
Extract text matching a regular expression from JSON files directly in your browser. Pull out emails, URLs, phone numbers, or any pattern into a new column — no upload required.
Parquet Viewer Online
View and inspect Parquet files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert Parquet to CSV Online
Convert Parquet files to CSV format directly in your browser. No upload required — your data never leaves your device.