这是对此的跟进/更新问题:
AWS dynamodb support for "R" programming language
我正在寻找有关如何从DynamoDB读入表格的示例或文档。
这个问题指出了我正确的方向:
R + httr and EC2 api authentication issues
(伟大的@hadley自己回答!)。
如果我必须使用httr然后解析json响应,这是可以的,但我甚至无法弄清楚如何格式化POST请求。
谢谢!
答案 0 :(得分:2)
从here重复我的回答,因为有人向我发送了此页面,询问了类似的问题。
这是我用于将数据从DynamoDB读取到R中的简化版本。它依赖于R和Python可以交换数据的事实,而Python中名为boto的库使得它非常容易从DynamoDB获取数据。如果这是一个R套餐会很好,但我不会抱怨,你可以从亚马逊获得25GB的免费存储空间。
首先,您需要一个名为 query_dynamo.py 的Python脚本:
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。我在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中放置的内容。
答案 1 :(得分:0)
您可以stream updates使用Lambda function到Connect to Redshift,connect to a SQL database,this post,然后执行针对Redshift所需的大数据分析。