Загрузка Apache набора данных Spark <Row>в таблицу DynamoDB с использованием Java - PullRequest
1 голос
/ 28 марта 2020

наше приложение создает файл паркета, и нам нужно загрузить эти данные в DynamoDB. Я не нахожу никаких Java примеров, использующих emr-DynamodB-разъем. Как преобразовать данные набора данных в hadoopRDD или DynamoDBItemWritable? Ценю помощь. Также не найдена хорошая документация по emr-DynamodB-Connector.

//Read file
Dataset<Row> parquetFileDF = spark.read().parquet("/src/main/resources/account.parquet");

//Create hadoop RDD using above data ( Need to figure out this part)
JavaPairRDD<Text, DynamoDBItemWritable> hadoopRDD = sc.hadoopRDD(jobConf,
                DynamoDBInputFormat.class, Text.class, DynamoDBItemWritable.class);

//Save
hadoopRDD.saveAsHadoopDataset(jobConf);

private static JobConf getDynamoDbJobConf (JavaSparkContext sc, String tableNameForWrite){
        final JobConf jobConf = new JobConf(sc.hadoopConfiguration());
        jobConf.set("dynamodb.servicename", "dynamodb");
        jobConf.set("dynamodb.input.tableName", tableNameForWrite);
        jobConf.set("dynamodb.endpoint", "dynamodb.us-east-1.amazonaws.com");
        jobConf.set("dynamodb.regionid", "us-east-1");
        jobConf.set("dynamodb.proxy.hostname", "");
        jobConf.set("dynamodb.proxy.port", "");
        jobConf.set("mapred.output.format.class",
                "org.apache.hadoop.dynamodb.write.DynamoDBOutputFormat");
        jobConf.set("mapred.input.format.class",
                "org.apache.hadoop.dynamodb.read.DynamoDBInputFormat");
        //jobConf.set("dynamodb.customAWSCredentialsProvider", profile);
        return jobConf;
    }

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