2017-05-03 9 views
0

私はsparkに読み込んでいるcsvファイルを持っています。 私が読んでいる唯一の列には時間値の配列があります。私は毎回の値を別の行にしたい。私は爆発のようないくつかの異なるものを試しましたが、彼らは私のために動作していないようです。私は最初の行を選択した場合 sparkでデータフレームの行を複数の行に分割する。データフレームには文字列値の配列を含む1つの列しかありません

val checkin_data=sqlContext.read 
          .format("com.databricks.spark.csv") 
          .option("header", "true") 
          .load("/home/saurabh/Projects/BigData/Datasets/YelpDataSet/yelp_academic_dataset_checkin.csv") 
          .select("time") 

これは私が得る結果である

checkin_data.first() 

[u'Fri-0:2' 、u'Sat-0:1' 、u'Sun- u'She-1:2 '、u'Thu-1:1'、u'Wed-1:1 '、u'Sat-2:1'、 u'Sun-2:2 '、u'Thu-2:1'、u'Wed-2:1 '、u'Fri-3:1'、u'Sun-3:3 '、u'Thu-4 :1 '、u'Tue-4:1'、u'Sun-6:1 '、u'Wed-6:1'、u'Fri-10:1 '、u'Sat-10:1'、u u'Med-12:1 '、u'Sat-12:1'、u'Tue-12:1 '、u'Sat-13: 2 '、u'Thu-13:1'、u'Tue-13:2 '、u'Wed-13:2'、u'Fri-14:2 '、u'Sat-14:1'、u '水14:1 '、u'Fri-15:1'、u'Sat-15:1 '、u'Thu-15:1'、u'Tue-15:1 '、u'Fri-16:1 16:2 '、16:1'、16:1 '、17:3'、17:1 ' 、u'Fri-18:1 '、u'Mon-18:1'、u'Sat-18:2 '、u'Sun-18:1'、u'Tue-18:2 '、u'Wed- 18:1、u'Fri-19:2 '、u'Mon-19:1'、u'Sun-19:2 '、u'Thu-19:1'、u'Wed-19:1 ' u'Mon-20:1 '、u'Sun-20:5'、u'Thu-20:1 '、u'Tue-20:1'、u'Wed-20:2 '、u'Fri-21 u'The-21:1 '、u'Fed-22:1'、u'The-21: 'Thu-22:1'、u'Fri-23:1 '、u'Mon-23:1'、U'Sat-23:3 '、U'un-23:1'、u'Thu-23: 2 '、u'Tue-23:1']]

私はこのように複数の行に各行を変換する方法はありますか?

金-0:2

SAT-0:1

サン0:1

水-0:2

SAT-1:2

木-1:1

私はこのような権利を説明できないと申し訳なく思っています。どんな助けも大歓迎です。

答えて

0

SparkSqlのexplodeメソッドが役立ちます!

ここにはpostがあります。

関連する問題