有没有人尝试将超集连接到AWS athena?
我可以使用SQLAlchemy URI连接到redshift:postgresql:// username:[email protected]:port / dbname
但我很难连接到AWS athena。 AWS有JDBC驱动程序(http://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html),但我无法弄清楚如何将它与超集一起使用。任何例子?
看看this github PR你想要将PyAthenaJDBC软件包安装到pip中。你所指的驱动程序是一个Java驱动程序,这很棒,但Superset主要是一个Python应用程序,所以它需要一个python驱动程序来连接/与Athena交互。
上面的答案是正确的,但您需要安装该软件包以确保您实际可以连接到athena。
连接到Athena的Driver时,必须定义属性s3_staging_dir。
示例:s3_staging_dir = s3:// your_bucket
1)确保你有PyAthenaJDBC pkg。安装:
pip install "PyAthenaJDBC>1.0.9"
2)重启超集
3)下载JDBC驱动程序:从aws driver download我使用了AthenaJDBC41-2.0.6.jar版本
4)将数据源添加到超集:
awsathena+jdbc://AWS_KEY:[email protected]/mydb?s3_staging_dir=s3://path/to/my/data/&driver_path=/drivers/AthenaJDBC41_2.0.6.jar
Note: If superset is running on ECS / EC2 you can assign an IAM role, and remove the AWS KEY/SECRET from the URI, Example raw connection URI below:
awsathena+jdbc://{aws_key}:{aws_secret}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&driver_path={driver_path}
Much more info here: