首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电源BI与S3桶的连接

电源BI与S3桶的连接
EN

Stack Overflow用户
提问于 2018-08-11 16:12:38
回答 1查看 10K关注 0票数 3

需要一些指导,因为我是新的动力BI和红移。

我的原始JSON数据以.gz文件的形式存储在Amazon桶中(每个.gz文件都有多行JSON数据),我想将Power连接到Amazon桶。到目前为止,根据我的研究,我有三个方法:

  1. Amazon是一个web服务,支持REST。我们可以尝试使用web数据源来获取数据。

问题:是否可以解压缩.gz文件(在S3桶内或在Power内部),从S3中提取JSON数据并连接到Power

  1. 将数据从亚马逊S3导入到Amazon。使用SQL工作台执行Redshift内部的所有数据操作。使用Amazon连接器获取Power中的数据

问题1:Redshift是否允许从S3桶加载.gzzipped JSON数据?如果是的话,它是直接可能的,还是我必须为它编写任何代码?

问题2:我有S3帐户,我必须单独购买Redshift帐户/空间吗?费用是多少?

  1. 通过Azure data将数据从AWS S3桶转移到Azure,用Azure数据湖分析(U)转换数据,然后将数据输出到PowerBI

U识别具有文件扩展名GZip的.gz压缩文件,并自动解压缩它们作为提取过程的一部分。如果gzipped文件包含JSON数据行,此进程有效吗?

如果还有其他的方法,也请给我一些宝贵的建议。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-07-31 03:48:01

关于你的第一个问题:我最近遇到了一个类似的问题(但提取了一个csv),我想注册我的解决方案。

Power仍然没有直接的插件来下载S3存储桶,但是您可以使用python脚本来完成它。Get data --> Python Script

确保boto3和熊猫库安装在您在Power选项中通知的同一个文件夹(或子文件夹)中,或者安装在Anaconda库文件夹中的boto3中。

Python脚本选项的Power窗口

代码语言:javascript
复制
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

dataframe将作为一个新查询导入(在本例中名为"df“)

显然,熊猫库也可以获得一个压缩文件(例如.gz)。请参阅以下主题:csv与gzip压缩选项?

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51801521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档