Повторяю свой ответ из здесь, так как кто-то отправил мне эту страницу с подобным вопросом.
Вот упрощенная версия того, что я использую для чтения данных из DynamoDB в R. Она основана на том факте, что R и Python могут обмениваться данными, а также на библиотеке под названием boto в Python упрощает получение данных из DynamoDB. Было бы здорово, если бы все это было в пакете R, но я не буду жаловаться, учитывая 25 ГБ бесплатного хранилища, которое вы можете получить от Amazon.
Во-первых, вам нужен скрипт 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. Все это я делал на 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.
person
CalZ
schedule
01.05.2017