код pyspark для копирования таблицы динамод в проблемы с кустами: операция не разрешена - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь создать внешнюю таблицу кустов из Dynamodb на aws emr, используя код pyspark. Запрос работает нормально, когда я выполняю его в приглашении куста, но не выполняется, когда я выполняю его как задание pyspark. Код как ниже:

from pyspark import SparkContext
from pyspark.sql import SparkSession
import os

spark = SparkSession.builder.enableHiveSupport().getOrCreate()
spark.sql('use ash_data')

spark.sql(
    """
    CREATE EXTERNAL TABLE dummyTable
        (item MAP<STRING, STRING>)
    STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler'
    TBLPROPERTIES ("dynamodb.table.name" = "testdynamodb")
    """
)

Он продолжает выдавать мне следующую ошибку:

pyspark.sql.utils.ParseException: u'\nOperation not allowed: STORED BY(line 4, pos 4)\n\n== SQL ==\n\n    CREATE EXTERNAL TABLE dummyTable\n        (item MAP<STRING, STRING>)\n    STORED BY \'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler\'\n----^^^\n    TBLPROPERTIES ("dynamodb.table.name" = "testdynamodb")\n    \n'

Нужно ли нам устанавливать какие-либо разрешения или роли для этой работы? Кто-нибудь нашел решение этой ошибки?

Спасибо

...