2017-05-14 1 views
0

spark(scala)のjsonファイルを解析したいと思います。 次に、txtファイルを保存します。 JFSファイルをHDFSに保存しました。jsonファイルをsparkで解析するにはどうすればよいですか?そして、どうやってsparkやhdfsでdynamo DBに挿入できますか?

スカラーを使用してjsonファイルを解析するにはどうすればよいですか?

JSONファイルの例) metadata.json

{"ID": "ABCDEFG", "product": "computer", "review": "good"} 
{"ID": "ZXCVBND", "product": "computer", "review": "bad"} 

私はIDと見直しを解析します。スパークで解析==>

ABCDEFG :: good 
ZXCVBND :: bad 

答えて

1

それは非常に簡単に見える - 、JSONからデータを読み取るスパークSQLでクエリを作成し、HDFSにデータを保存:

val df = spark.read.json("json/in/hdfs/data.json") 
df.show() 
val myDF = spark.read.json(path) 
myDF.printSchema()//for debug purposes 
myDF.createOrReplaceTempView("myData") 
val selectedDF = spark.sql("SELECT id, parse FROM myData") 
         .map(attributes => attributes(0) + " :: " + attributes(1)) 
selectedDF.write().fomat("json").saveAsTextFile("hdfs://...") 
1

リーディングJSON後 はデータフレーム(データセットの別名[行])を返されSparkSession .read.json(path)を使用しての問題です。そこから.select("ID", "review")を呼び出して、その2つの値を別のDataFrameとして取得できます。

HDFSに書き込むDF(申し訳ありませんが、私はまだspark ...からDynamoDBに書き込んでいません)の場合は、.write.json/csv/parquet(hdfs_path)を呼び出します.json/csv/parquet/etcは、 HDFSディレクトリ。

関連する問題