是否有人尝试将超集连接到AWS athena?
我可以使用SQLAlchemy URI连接到redshift: 的PostgreSQL://用户名:password@xxxx.redshift.amazonaws.com:端口/ DBNAME
但我很难连接到AWS athena。 AWS有JDBC驱动程序(http://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html),但我无法弄清楚如何将它与超集一起使用。任何一个例子?
答案 0 :(得分:3)
万一其他人会来这里:
awsathena+jdbc://username:password@xxxx.redshift.amazonaws.com:port/dbname
答案 1 :(得分:1)
看看this github PR 您需要将PyAthenaJDBC软件包安装到pip中。你所指的驱动程序是一个Java驱动程序,这很棒,但Superset主要是一个Python应用程序,所以它需要一个python驱动程序来连接/与Athena交互。
上述答案是正确的,但您需要安装该软件包以确保您实际可以连接到athena。
答案 2 :(得分:0)
连接到Athena的Driver时,必须定义属性s3_staging_dir。
示例:s3_staging_dir = s3:// your_bucket
答案 3 :(得分:0)
1)确保您具有PyAthenaJDBC pkg。已安装:
pip install "PyAthenaJDBC>1.0.9"
2)重新启动超集
3)下载JDBC驱动程序:从aws driver download我使用了AthenaJDBC41-2.0.6.jar版本
示例驱动程序下载URL,注意:我将驱动程序保存在/ drivers /
中wget https://s3.amazonaws.com/athena-downloads/drivers/JDBC/SimbaAthenaJDBC_2.0.6/AthenaJDBC41_2.0.6.jar
4)将数据源添加到超集:
awsathena+jdbc://AWS_KEY:AWS_SECRET@athena.us-west-2.amazonaws.com/mydb?s3_staging_dir=s3://path/to/my/data/&driver_path=/drivers/AthenaJDBC41_2.0.6.jar
注意:如果超集正在ECS / EC2上运行,则您可以分配一个IAM角色,并从URI(以下示例原始连接URI)中删除AWS KEY / SECRET:
awsathena+jdbc://{aws_key}:{aws_secret}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&driver_path={driver_path}
here的更多信息:
答案 4 :(得分:0)
我们尝试使用PyAthena JDBC和REST安装超集。我们在PyAthena(REST)方面的经验远胜过PyAthenaJDBC,建议在生产中使用它。
安装PyAthena(纯Python库,不需要Java)
pip install "PyAthena>1.2.0"
通过创建连接URL访问数据库
awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&...
我发现了这个article,这是部署超集的一个很好的指南。