title: Using predicates to filter rows from pyarrow.parquet.ParquetDataset
body: <p>I have a parquet dataset stored on s3, and I would like to query specific rows from the dataset. I was able to do that using <code>petastorm</code> but now I want to do that using only <code>pyarrow</code>.</p>
  
  <p>Here's my attempt:</p>
  
  <pre class="lang-py prettyprint-override"><code>import pyarrow.parquet as pq
  import s3fs
  
  fs = s3fs.S3FileSystem()
  
  dataset = pq.ParquetDataset(
      'analytics.xxx', 
      filesystem=fs, 
      validate_schema=False, 
      filters=[('event_name', '=', 'SomeEvent')]
  )
  
  df = dataset.read_pandas().to_pandas()
  </code></pre>
  
  <p>But that returns a pandas DataFrame as if the filter didn't work, i.e I have rows with various values of <code>event_name</code>. Is there something I am missing or something I misunderstood? I could filter after getting the pandas DataFrame but I would use much more memory space than needed.</p>