Как записать фрейм данных PySpark в таблицу DynamoDB? - PullRequest
0 голосов
/ 29 октября 2018

Как записать фрейм данных PySpark в таблицу DynamoDB? Не нашел много информации по этому вопросу. В соответствии с моим требованием, я должен записать PySpark dataframe в таблицу базы данных Dynamo. В общем, мне нужно читать / писать в динамо из моего кода PySpark.

Заранее спасибо.

1 Ответ

0 голосов
/ 29 октября 2018

Рам, нет способа сделать это прямо из pyspark. Если у вас запущено программное обеспечение конвейера, это можно сделать в несколько шагов. Вот как это можно сделать:

  1. Создать временную таблицу ульев, например

    CREATE TABLE TEMP( column1 type, column2 type...) STORED AS ORC;

  2. Запустите задание pySpark и запишите в него свои данные

    dataframe.createOrReplaceTempView("df") spark.sql("INSERT OVERWRITE TABLE temp SELECT * FROM df")

  3. Создание таблицы соединителей динамо

    CREATE TABLE TEMPTODYNAMO( column1 type, column2 type...) STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' TBLPROPERTIES ("dynamodb.table.name" = "temp-to-dynamo", "dynamodb.column.mapping" = "column1:column1,column2:column2...";

  4. Перезаписать эту таблицу своей временной таблицей

    INSERT OVERWRITE TABLE TEMPTODYNAMO SELECT * FROM TEMP;

Больше информации здесь: https://docs.aws.amazon.com/emr/latest/ReleaseGuide/EMR_Hive_Commands.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...