наше приложение создает файл паркета, и нам нужно загрузить эти данные в 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;
}