apache / apache/datafusion-python

aws.XXX options are not recognized in SQL API for CREATE EXTERNAL TABLE with AWS S3 location

Open
#970 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
604
Forks
174
Avg merge
1d 7h
Merged PRs (30d)
4

Description

**Describe the bug**
Hi

I was trying to create external table from AWS S3 using examples from [Datafusion CLI docs](https://datafusion.apache.org/user-guide/cli/datasources.html#s3) and [SQL DDL docs](https://datafusion.apache.org/user-guide/sql/ddl.html#create-external-table), see **To Reproduce** section below. But looks like AWS-specific options for external tables doesn't work with SQL API in the same way as it described in CLI docs

```Exception: DataFusion error: Configuration("Could not find config namespace \"aws\"")```

I can successfully register and read the same parquet with the same credentials via register_object_store + register_parquet functions, so there's no problem with the data or S3 connection

**To Reproduce**
```python
import datafusion

ctx = datafusion.SessionContext()

raw_data_df = ctx.sql(f"""
create external table raw_data
stored as parquet
options
(
'aws.access_key_id' '***',
'aws.secret_access_key' '***',
'aws.region' 'eu-central-1'
)
location 's3://some-bucket/some-folder/'
""")

raw_data_df.show()
```

**Expected behavior**
```create external table``` command works with ```aws.xxx``` options

**Additional context**
v 42.0.0

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.