--- title: Overview --- Today, a vast amount of data is stored in 1. File formats like Parquet or CSV 2. Data lakes like S3 or GCS 3. Table formats like Delta Lake or Iceberg ParadeDB's integrations that make it easy to ingest this data without data processing engines or ETL tools, which can be complex and error-prone. ## Basic Usage In this example, we will query and copy a Parquet file stored in S3 to Postgres. The Parquet file contains 3 million NYC taxi trips from January 2024, hosted in a public S3 bucket provided by ParadeDB. To begin, enable the ParadeDB integrations with: ```sql CREATE EXTENSION IF NOT EXISTS pg_analytics; ``` Now, let's create a [Postgres foreign data wrapper](https://wiki.postgresql.org/wiki/Foreign_data_wrappers), which is how ParadeDB connects to S3. ```sql CREATE FOREIGN DATA WRAPPER parquet_wrapper HANDLER parquet_fdw_handler VALIDATOR parquet_fdw_validator; CREATE SERVER parquet_server FOREIGN DATA WRAPPER parquet_wrapper; CREATE FOREIGN TABLE trips () SERVER parquet_server OPTIONS (files 's3://paradedb-benchmarks/yellow_tripdata_2024-01.parquet'); ``` Next, let's query the foreign table `trips`. You'll notice that the column names and types of this table are automatically inferred from the Parquet file. ```sql SELECT vendorid, passenger_count, trip_distance FROM trips LIMIT 1; ``` ```csv vendorid | passenger_count | trip_distance ----------+-----------------+--------------- 2 | 1 | 1.72 (1 row) ``` Queries over this table are powered by [DuckDB](https://duckdb.org), an in-process analytical query engine. This means that you can run fast analytical queries over data lakes from ParadeDB. ```sql SELECT COUNT(*) FROM trips; ``` ```csv count --------- 2964624 (1 row) ``` Finally, let's copy this table into a Postgres heap table. For demonstration, we will copy over the first 100 rows. ```sql CREATE TABLE trips_copy AS SELECT * FROM trips LIMIT 100; ``` That's it! Please refer to the other sections for instructions on how to ingest from other [file and table formats](/integrations/formats) and [object stores](/integrations/object_stores).