2016-06-20 7 views
1

DynamodDBテーブルを読み取ろうとしています。Apache Sparkです。続きHadoopRDDの結果をParquet形式に変換するにはどうすればよいですか?

は私の実装です:スパークでそう

シェル

spark-shell --jars /usr/share/aws/emr/ddb/lib/emr-ddb-hadoop.jar 
import org.apache.hadoop.io.Text; 
import org.apache.hadoop.dynamodb.DynamoDBItemWritable 

/* Importing DynamoDBInputFormat and DynamoDBOutputFormat */ 
import org.apache.hadoop.dynamodb.read.DynamoDBInputFormat 
import org.apache.hadoop.dynamodb.write.DynamoDBOutputFormat 
import org.apache.hadoop.mapred.JobConf 
import org.apache.hadoop.io.LongWritable 
var jobConf = new JobConf(sc.hadoopConfiguration) 
jobConf.set("dynamodb.servicename", "dynamodb") 
jobConf.set("dynamodb.input.tableName", "myDynamoDBTable") 

// Pointing to DynamoDB table 
jobConf.set("dynamodb.endpoint", "dynamodb.us-east-1.amazonaws.com") 
jobConf.set("dynamodb.regionid", "us-east-1") jobConf.set("dynamodb.throughput.read", "1") 
jobConf.set("dynamodb.throughput.read.percent", "1") 
jobConf.set("dynamodb.version", "2011-12-05") 
jobConf.set("mapred.output.format.class", "org.apache.hadoop.dynamodb.write.DynamoDBOutputFormat") 
jobConf.set("mapred.input.format.class", "org.apache.hadoop.dynamodb.read.DynamoDBInputFormat") 
var orders = sc.hadoopRDD(jobConf, classOf[DynamoDBInputFormat], classOf[Text], classOf[DynamoDBItemWritable]) 

私たちは、 "受注" 変数に結果を取得します。

この結果を寄木細工ファイルまたはフォーマットに変換するにはどうすればよいですか?

更新:dynamodbデータにアクセスして変換するこのコードが見つかりました https://github.com/onzocom/spark-dynamodb/blob/master/src/main/scala/com/onzo/spark/dynamodb/DynamoDbRelation.scala

+0

エディタで引用符ではなくコードブロックの '{}'ボタンを使用してください –

答えて

1

データフレームはパーケットファイルとして保存できますが、RDDで保存することはできません。これは、Parquet Filesにスキーマが必要なためです。 RDDはスキーマを持つ必要はありませんが、データフレームは必須です。

関連する問題