:私はかなり費やしてきたどのようにスパークデータフレームにメモリ内のJSON文字列を読み取るために、私はその場でスパークデータフレームの中に、メモリ内のJSON <strong>文字列</strong>を読みしようとしている
var someJSON : String = getJSONSomehow()
val someDF : DataFrame = magic.convert(someJSON)
時間のスパークAPIを見て、私は見つけることができる最高はそうのようなsqlContext
を使用することです:
var someJSON : String = getJSONSomehow()
val tmpFile : Output = Resource
.fromFile(s"/tmp/json/${UUID.randomUUID().toString()}")
tmpFile.write("hello")(Codec.UTF8)
val someDF : DataFrame = sqlContext.read().json(tmpFile)
しかし、これは一種の厄介な/グラグラ感じ、次の制約課し:
を- JSONを1行に1つのオブジェクトにフォーマットする必要があります(per documentation)。そして
- 私は、JSONを一時ファイルに書き込む必要があります。これは遅くて扱いにくいものです。そして私に
- それは面倒である、時間をかけて一時ファイルをクリーンアップするために私を強制し、「間違っている」と感じ
は、だから私は尋ねる:はにJSON文字列を変換するための直接的かつより効率的な方法はありますSpark DataFrame?スパークSQLガイドから
[jsonの文字列をsparkのデータフレームに変換する方法](http://stackoverflow.com/questions/38271611/how-to-convert-json-string-to-dataframe-on-spark) – cheseaux