私はSpark 1.6の新機能です。寄木張りのファイルを読んで処理したいと思います。 のためにこのような構成の寄木細工を持っていると仮定簡素化:spark:寄木細工ファイルを読んで処理する
id, amount, label
と私は3のルールがあります:スパークとScalaでそれを行うことができますどのように
amount < 10000 => label=LOW
10000 < amount < 100000 => label=MEDIUM
amount > 1000000 => label = HIGH
を?それは正しいアプローチ
case class SampleModels(
id: String,
amount: Double,
label: String,
)
val sc = SparkContext.getOrCreate()
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._
val df = sqlContext.read.parquet("/path/file/")
val ds = df.as[SampleModels].map(row=>
MY LOGIC
WRITE OUTPUT IN PARQUET
)
です:
は、私はそのような何かをしようと?それは効率的ですか? 「MYLOGIC」はより複雑になる可能性があります。
ありがとうございます。
に書いたように
私はケースクラスとインポートsqlContext.implicits._を使用しています。一般に、スパーク・データフレーム/データセット操作を使用することをお勧めします。この操作はSpark SQLの[Catalyst Optimizer](https://databricks.com/blog/2015/04/13/deep-dive-into-spark-sqls-catalyst-optimizer.html)に渡されます。この最適化エンジンは、あなたの質問をよりうまく実行できるようになりました。 –