parameters: (self, columns=None, use_threads=True, use_pandas_metadata=False)
return_statement: return table
docstring: Read (multiple) Parquet files as a single pyarrow.Table.
  
          Parameters
          ----------
          columns : List[str]
              Names of columns to read from the dataset. The partition fields
              are not automatically included (in contrast to when setting
              ``use_legacy_dataset=True``).
          use_threads : bool, default True
              Perform multi-threaded column reads.
          use_pandas_metadata : bool, default False
              If True and file has custom pandas schema metadata, ensure that
              index columns are also loaded.
  
          Returns
          -------
          pyarrow.Table
              Content of the file as a table (of columns).
docstring_summary: Read (multiple) Parquet files as a single pyarrow.Table.
docstring_tokens: Read ( multiple ) Parquet files as a single pyarrow . Table .
function: def read(self, columns=None, use_threads=True, use_pandas_metadata=False):
          """
          Read (multiple) Parquet files as a single pyarrow.Table.
  
          Parameters
          ----------
          columns : List[str]
              Names of columns to read from the dataset. The partition fields
              are not automatically included (in contrast to when setting
              ``use_legacy_dataset=True``).
          use_threads : bool, default True
              Perform multi-threaded column reads.
          use_pandas_metadata : bool, default False
              If True and file has custom pandas schema metadata, ensure that
              index columns are also loaded.
  
          Returns
          -------
          pyarrow.Table
              Content of the file as a table (of columns).
          """
          # if use_pandas_metadata, we need to include index columns in the
          # column selection, to be able to restore those in the pandas DataFrame
          metadata = self.schema.metadata
          if columns is not None and use_pandas_metadata:
              if metadata and b'pandas' in metadata:
                  # RangeIndex can be represented as dict instead of column name
                  index_columns = [
                      col for col in _get_pandas_index_columns(metadata)
                      if not isinstance(col, dict)
                  ]
                  columns = (
                      list(columns) + list(set(index_columns) - set(columns))
                  )
  
          if self._enable_parallel_column_conversion:
              if use_threads:
                  # Allow per-column parallelism; would otherwise cause
                  # contention in the presence of per-file parallelism.
                  use_threads = False
  
          table = self._dataset.to_table(
              columns=columns, filter=self._filter_expression,
              use_threads=use_threads
          )
  
          # if use_pandas_metadata, restore the pandas metadata (which gets
          # lost if doing a specific `columns` selection in to_table)
          if use_pandas_metadata:
              if metadata and b"pandas" in metadata:
                  new_metadata = table.schema.metadata or {}
                  new_metadata.update({b"pandas": metadata[b"pandas"]})
                  table = table.replace_schema_metadata(new_metadata)
  
          return table
function_tokens: def read ( self , columns = None , use_threads = True , use_pandas_metadata = False ) : # if use_pandas_metadata, we need to include index columns in the # column selection, to be able to restore those in the pandas DataFrame metadata = self . schema . metadata if columns is not None and use_pandas_metadata : if metadata and b'pandas' in metadata : # RangeIndex can be represented as dict instead of column name index_columns = [ col for col in _get_pandas_index_columns ( metadata ) if not isinstance ( col , dict ) ] columns = ( list ( columns ) + list ( set ( index_columns ) - set ( columns ) ) ) if self . _enable_parallel_column_conversion : if use_threads : # Allow per-column parallelism; would otherwise cause # contention in the presence of per-file parallelism. use_threads = False table = self . _dataset . to_table ( columns = columns , filter = self . _filter_expression , use_threads = use_threads ) # if use_pandas_metadata, restore the pandas metadata (which gets # lost if doing a specific `columns` selection in to_table) if use_pandas_metadata : if metadata and b"pandas" in metadata : new_metadata = table . schema . metadata or { } new_metadata . update ( { b"pandas" : metadata [ b"pandas" ] } ) table = table . replace_schema_metadata ( new_metadata ) return table