这是对此的后续/更新问题:
AWS dynamodb 支持“R”编程语言 https://stackoverflow.com/questions/14224919/aws-dynamodb-support-for-r-programming-language
我正在寻找有关如何将表从 DynamoDB 读入 R 的示例或文档。
这个问题为我指明了正确的方向:
R+httr和EC2 api身份验证问题 https://stackoverflow.com/questions/13424660/r-httr-and-ec2-api-authentication-issues
(由伟大的@hadley本人回答!)。
如果我必须使用 httr 然后解析 json 响应,那没问题,但我什至不知道如何格式化 POST 请求。
Thanks!
重复我的回答here https://stackoverflow.com/a/43719043/7947081因为有人向我发送了此页面询问类似的问题。
这是我用于将数据从 DynamoDB 读取到 R 的简化版本。它依赖于 R 和 Python 可以交换数据的事实,以及一个名为boto https://boto3.readthedocs.io/en/latest/Python 中的 DynamoDB 使从 DynamoDB 获取数据变得非常容易。如果这都是 R 包,那就太好了,但考虑到您可以从 Amazon 获得 25GB 的免费存储空间,我不会抱怨。
首先,你需要一个像这样命名的Python脚本query_dynamo.py:
import boto3
import time
dynamodb = boto3.resource('dynamodb',
aws_access_key_id='<GET ME FROM AWS>',
aws_secret_access_key='<ALSO GET ME FROM AWS CONSOLE>',
region_name='us-east-1')
table = dynamodb.Table('comment') ###Your table name in DynamoDB here
response = table.scan()
data = response['Items']
while 'LastEvaluatedKey' in response:
response = table.scan(ExclusiveStartKey=response['LastEvaluatedKey'])
data.extend(response['Items'])
然后在 R 中执行此操作。如果您在 Windows 上尝试此操作,您可能需要尝试rPython-win https://github.com/cjgb/rPython-win反而。我在 Ubuntu Linux 16.04 LTS 上完成了这一切。
library(rPython)
python.load("query_dynamo.py")
temp = as.data.frame(python.get('data'))
df = as.data.frame(t(temp))
rm(temp)
现在,您将拥有一个名为“df”的数据框,其中包含您放入 DynamoDB 中的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)