AWS dynamodb support for “R” programming language

后端 未结 4 1399
慢半拍i
慢半拍i 2020-12-19 09:05

Has anyone been able to successfully CRUD records in amazon dynamodb using the R programming language? I found this reference of language bindings supported:

http:/

4条回答
  •  半阙折子戏
    2020-12-19 09:15

    Here's a simplified version of what I'm using for reading data from DynamoDB into R. It relies on the fact that R and Python can exchange data, and a library called boto in Python makes it really easy to get data from DynamoDB. It would be neat if this was all an R package, but I won't complain given the 25GB of free storage you can get from Amazon.

    First, you need a Python script like so named query_dynamo.py:

    import boto3
    import time
    
    dynamodb = boto3.resource('dynamodb',
                              aws_access_key_id='',
                              aws_secret_access_key='',
                              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'])
    

    Then in R you do this. If you're trying this on Windows, you may want to try rPython-win instead. I did all this on 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)
    

    Now you'll have a dataframe called "df" with the contents of whatever you put in DynamoDB.

提交回复
热议问题