Reference documentation and code samples for the BigQuery API class Google::Cloud::Bigquery::External::ParquetSource.
ParquetSource
ParquetSource is a subclass of DataSource and
represents a Parquet external data source that can be queried
from directly, even though the data is not stored in BigQuery. Instead
of loading or streaming the data, this object references the external
data source.
require"google/cloud/bigquery"bigquery=Google::Cloud::Bigquery.newparquet_url="gs://bucket/path/to/data.parquet"parquet_table=bigquery.externalparquet_urldo|parquet|parquet.enable_list_inference=1enddata=bigquery.query"SELECT * FROM my_ext_table",external:{my_ext_table:parquet_table}# Iterate over the first page of resultsdata.eachdo|row|putsrow[:name]end# Retrieve the next page of resultsdata=data.nextifdata.next?
Methods
#enable_list_inference
defenable_list_inference()->Boolean
Indicates whether to use schema inference specifically for Parquet LIST logical type.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-09 UTC."],[],[],null,["# BigQuery API - Class Google::Cloud::Bigquery::External::ParquetSource (v1.55.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.55.0 (latest)](/ruby/docs/reference/google-cloud-bigquery/latest/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.54.0](/ruby/docs/reference/google-cloud-bigquery/1.54.0/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.53.0](/ruby/docs/reference/google-cloud-bigquery/1.53.0/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.52.1](/ruby/docs/reference/google-cloud-bigquery/1.52.1/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.51.1](/ruby/docs/reference/google-cloud-bigquery/1.51.1/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.50.0](/ruby/docs/reference/google-cloud-bigquery/1.50.0/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.49.1](/ruby/docs/reference/google-cloud-bigquery/1.49.1/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.48.1](/ruby/docs/reference/google-cloud-bigquery/1.48.1/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.47.0](/ruby/docs/reference/google-cloud-bigquery/1.47.0/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.46.1](/ruby/docs/reference/google-cloud-bigquery/1.46.1/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.45.0](/ruby/docs/reference/google-cloud-bigquery/1.45.0/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.44.2](/ruby/docs/reference/google-cloud-bigquery/1.44.2/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.43.1](/ruby/docs/reference/google-cloud-bigquery/1.43.1/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.42.0](/ruby/docs/reference/google-cloud-bigquery/1.42.0/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.41.0](/ruby/docs/reference/google-cloud-bigquery/1.41.0/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.40.0](/ruby/docs/reference/google-cloud-bigquery/1.40.0/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.39.0](/ruby/docs/reference/google-cloud-bigquery/1.39.0/Google-Cloud-Bigquery-External-ParquetSource)\n- [1.38.1](/ruby/docs/reference/google-cloud-bigquery/1.38.1/Google-Cloud-Bigquery-External-ParquetSource) \nReference documentation and code samples for the BigQuery API class Google::Cloud::Bigquery::External::ParquetSource.\n\nParquetSource\n-------------\n\n[ParquetSource](/ruby/docs/reference/google-cloud-bigquery/latest/Google-Cloud-Bigquery-External-ParquetSource \"Google::Cloud::Bigquery::External::ParquetSource (class)\") is a subclass of [DataSource](/ruby/docs/reference/google-cloud-bigquery/latest/Google-Cloud-Bigquery-External-DataSource \"Google::Cloud::Bigquery::External::DataSource (class)\") and\nrepresents a Parquet external data source that can be queried\nfrom directly, even though the data is not stored in BigQuery. Instead\nof loading or streaming the data, this object references the external\ndata source. \n\nInherits\n--------\n\n- [Google::Cloud::Bigquery::External::DataSource](./Google-Cloud-Bigquery-External-DataSource)\n\nExample\n-------\n\n```ruby\nrequire \"google/cloud/bigquery\"\n\nbigquery = Google::Cloud::Bigquery.new\n\nparquet_url = \"gs://bucket/path/to/data.parquet\"\nparquet_table = bigquery.external parquet_url do |parquet|\n parquet.enable_list_inference = 1\nend\n\ndata = bigquery.query \"SELECT * FROM my_ext_table\",\n external: { my_ext_table: parquet_table }\n\n# Iterate over the first page of results\ndata.each do |row|\n puts row[:name]\nend\n# Retrieve the next page of results\ndata = data.next if data.next?\n```\n\nMethods\n-------\n\n### #enable_list_inference\n\n def enable_list_inference() -\u003e Boolean\n\nIndicates whether to use schema inference specifically for Parquet `LIST` logical type. \n**Returns**\n\n- (Boolean)\n**Example** \n\n```ruby\nrequire \"google/cloud/bigquery\"\n\nbigquery = Google::Cloud::Bigquery.new\n\nparquet_url = \"gs://bucket/path/to/data.parquet\"\nparquet_table = bigquery.external parquet_url do |parquet|\n parquet.enable_list_inference = true\nend\n\nparquet_table.enable_list_inference #=\u003e true\n```\n\n### #enable_list_inference=\n\n def enable_list_inference=(new_enable_list_inference)\n\nSets whether to use schema inference specifically for Parquet `LIST` logical type. \n**Parameter**\n\n- **new_enable_list_inference** (Boolean) --- The new `enable_list_inference` value.\n**Example** \n\n```ruby\nrequire \"google/cloud/bigquery\"\n\nbigquery = Google::Cloud::Bigquery.new\n\nparquet_url = \"gs://bucket/path/to/data.parquet\"\nparquet_table = bigquery.external parquet_url do |parquet|\n parquet.enable_list_inference = true\nend\n\nparquet_table.enable_list_inference #=\u003e true\n```\n\n### #enum_as_string\n\n def enum_as_string() -\u003e Boolean\n\nIndicates whether to infer Parquet `ENUM` logical type as `STRING` instead of `BYTES` by default. \n**Returns**\n\n- (Boolean)\n**Example** \n\n```ruby\nrequire \"google/cloud/bigquery\"\n\nbigquery = Google::Cloud::Bigquery.new\n\nparquet_url = \"gs://bucket/path/to/data.parquet\"\nparquet_table = bigquery.external parquet_url do |parquet|\n parquet.enum_as_string = true\nend\n\nparquet_table.enum_as_string #=\u003e true\n```\n\n### #enum_as_string=\n\n def enum_as_string=(new_enum_as_string)\n\nSets whether to infer Parquet `ENUM` logical type as `STRING` instead of `BYTES` by default. \n**Parameter**\n\n- **new_enum_as_string** (Boolean) --- The new `enum_as_string` value.\n**Example** \n\n```ruby\nrequire \"google/cloud/bigquery\"\n\nbigquery = Google::Cloud::Bigquery.new\n\nparquet_url = \"gs://bucket/path/to/data.parquet\"\nparquet_table = bigquery.external parquet_url do |parquet|\n parquet.enum_as_string = true\nend\n\nparquet_table.enum_as_string #=\u003e true\n```"]]