2017-07-11 6 views
0

this質問には、zeppelinのz.showコマンドを使用してデータフレームを印刷する方法が教えられました。Zeppelin/Spark/Scalaでwrappedarrayを印刷するにはどうすればよいですか?

z.show(dfLemma.select(concat_ws(",", $"lemma"))) 

が、それはちょうど私の単語のリストを与え、きれいにフォーマットされていないと私も欲しい:私はこれを試してみました enter image description here

:これはよく補題列に表示される「WrappedArray」を除いて動作します私の出力には人種差別的な列があります。 何か助けていただければ幸いです。

+0

import org.apache.spark.sql.Column import org.apache.spark.sql.functions._ import sqlContext.implicits._ val df = Seq( (1, Array("An", "Array")), (2, Array("Another", "Array")) ).toDF("first", "second") def formatArrayColumn(arrayColumn: Column): Column = { concat(lit("["), concat_ws(", ", arrayColumn), lit("]")).as(s"format(${arrayColumn.expr})") } val result = df.withColumn("second", formatArrayColumn($"second")) z.show(result) 

にその結果を? –

+0

あなたの選択を変数に取り込み、それを適切なフォーマットに変換します。これで、変換された選択肢を印刷することができます。 –

答えて

1

はここにあなたの配列の列をフォーマットするための提案です:あなたはこの列のデータが示されることを期待するにはどうすればよい

enter image description here

+0

ダニエルありがとうございますが、ちょうど2つの列を選択した場合でも大きな文字列を出力します:import org.apache.spark.sql.functions.concat_wsformatArrayColumn:(arrayColumn:org.apache.spark.sql.Column)org.apache .spark.sql.Columnresult:org.apache.spark.sql.DataFrame = [racist:ブーリアン、コントリビュータ:string ... 27個以上のフィールド]%racist \t lemmafalse \t [rt、@dope_promo、:、そして、あなた、乗組員、ビート – schoon

+0

@ schoonだから、この列の出力として期待していることについてあなたの質問に明確にしてください。 –

+0

私はあなたが作ったものを期待していました。しかし、私が得るのは、長い文字列です。 – schoon

関連する問題