[英]Connecting Power BI to S3 Bucket
需要一些指导,因为我是 Power BI 和 Redshift 的新手。
我的原始 JSON 数据以 .gz 文件的形式存储在 Amazon S3 存储桶中(每个 .gz 文件都有多行 JSON 数据)我想将 Power BI 连接到 Amazon s3 存储桶。 截至目前,根据我的研究,我得到了三种方法:
问题:是否可以解压缩 .gz 文件(在 S3 存储桶或 Power BI 内部),从 S3 中提取 JSON 数据并连接到 Power BI
问题 1 :Redshift 是否允许从 S3 存储桶加载 .gzzipped JSON 数据? 如果是,是否可以直接使用,或者我是否必须为其编写任何代码?
问题2:我有S3账号,是否需要单独购买Redshift账号/空间? 费用是多少?
U-SQL 识别文件扩展名为 .gz 的 GZip 压缩文件,并在提取过程中自动解压缩它们。 如果我的 gzipped 文件包含 JSON 数据行,此过程是否有效?
如果有任何其他方法,请告诉我,以及您对这篇文章的宝贵建议。
提前致谢。
关于你的第一个问题:我最近刚刚遇到了一个类似的问题(但提取了一个 csv),我想注册我的解决方案。
Power BI 仍然没有直接插件来下载 S3 存储桶,但您可以使用 python 脚本来完成。 获取数据 --> Python 脚本
PS.:确保 boto3 和 pandas 库安装在您在 Power BI 选项中通知的 Python 主目录的同一文件夹(或子文件夹)中,或安装在 Anaconda 库文件夹(c:\\users\\USERNAME\\anaconda3\\lib\\site - 包)。
import boto3 import pandas as pd bucket_name= 'your_bucket' folder_name= 'the folder inside your bucket/' file_name = r'file_name.csv' # or .json in your case key=folder_name+file_name s3 = boto3.resource( service_name='s3', region_name='your_bucket_region', ## ex: 'us-east-2' aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY ) obj = s3.Bucket(bucket_name).Object(key).get() df = pd.read_csv(obj['Body']) # or pd.read_json(obj['Body']) in your case
数据框将作为新查询导入(在本例中名为“df”)
显然,pandas 库也可以得到一个压缩文件(例如 .gz)。 请参阅以下主题: 如何使用带有 gzip 压缩选项的 pandas read_csv 读取 tar.gz 文件?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.