SmartQueryTools

Search Text in Parquet Files Online

Search for text across all string columns in Parquet files directly in your browser. Filter rows to only those containing your search term and download the results — no upload required.

How to search Text in Parquet files

  1. Drop your file onto the upload area. It is loaded in your browser and the first 200 rows are shown.
  2. Type the text to look for in the Search term box. The tool matches it anywhere inside a value, so "refund" also finds "refunds" and "Refund policy".
  3. Pick the columns to search. Every text column is selected by default. Use All or None, or click a column name to toggle it. Number and date columns are not listed.
  4. Tick Case sensitive if capitalisation matters, then click Search or press Enter. The tool reports how many rows matched out of the total.
  5. Click Download to save only the matching rows 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 support lead exports the helpdesk queue and wants every ticket that mentions refunds, whatever the capitalisation, before a finance review.

Input (Parquet)

Parquet file (binary, columnar) — shown as a table with its schema

ticket_idsubjectproductstatus
4101Refund not received after cancellationBillingopen
4102App crashes on loginMobileopen
4103Partial REFUND for duplicate chargeBillingclosed
4104Password reset email missingAccountopen
4105Question about refunds policyBillingpending

Schema: ticket_id BIGINT, subject VARCHAR, product VARCHAR, status VARCHAR

Settings

  • Search term: refund
  • Columns: subject, product, status (all text columns)
  • Case sensitive: off

Result

ticket_idsubjectproductstatus
4101Refund not received after cancellationBillingopen
4103Partial REFUND for duplicate chargeBillingclosed
4105Question about refunds policyBillingpending

Three of five rows match. The search is a substring match, so "refunds" in ticket 4105 counts, and with Case sensitive off "REFUND" in ticket 4103 counts too. ticket_id is a number column, so it is not searched. With Case sensitive on, only ticket 4105 would match, because it is the only one with a lowercase "refund".

Working with Parquet files

Parquet stores a type for every column, so the search list shows exactly the string columns in the schema. Integer, decimal, timestamp and boolean columns are left out. Dictionary-encoded string columns, which are common for low-cardinality fields like country or status, are searched the same way as plain strings. Nothing is decompressed to disk. The file is read in your browser tab.

Struct and list columns are not listed, even when they hold text, because a whole struct or list cannot be matched as text. Binary columns are left out too. If you need to search inside nested fields, run Flatten first so each one becomes its own column. The matching rows are written to a new Parquet file with the original schema and column types.

Frequently Asked Questions

Why are some Parquet columns missing from the search list?

Only plain string columns are listed. Struct, list and binary columns cannot be matched as text, so they are left out. Flatten the file first to search a nested field.

Does the filtered Parquet file keep my original column types?

Yes. The result is written with the same column names and types. Only the number of rows changes.

Does the search support wildcards or regular expressions?

There is no regular expression mode. The term is matched as a substring with SQL LIKE (or ILIKE when Case sensitive is off). Because of that, % in your term matches any run of characters and _ matches any single character. Use Regex Extract or the SQL Query tool for pattern matching.

How are multiple columns combined?

A row is kept if the term appears in any selected column. There is no AND mode across columns. To require a match in two columns, run the search twice, once per column.

Can I search for more than one word at a time?

The whole term is matched as one string, including spaces. "late fee" only finds rows containing those two words next to each other. For either-or searches, run separate searches or use the SQL Query tool.

Related Tools