web-dev-qa-db-ja.com

20行以上を取得し、spark-shellで列の完全な値を表示します

Spark-ShellのCassandraSQLContextを使用して、Cassandraからデータをクエリしています。したがって、CassandraSQLContextを使用して20行以上をフェッチする方法と、列の完全な値をIdで表示する方法の2つのことを知りたいと思います。以下に示すように、デフォルトでは文字列値にドットが追加されます。

コード:

val csc = new CassandraSQLContext(sc)
csc.setKeyspace("KeySpace")
val maxDF = csc.sql("SQL_QUERY" )
maxDF.show

出力:

+--------------------+--------------------+-----------------+--------------------+
|                  id|               Col2|              Col3|                Col4| 
+--------------------+--------------------+-----------------+--------------------+
|8wzloRMrGpf8Q3bbk...|             Value1|                 X|                  K1|
|AxRfoHDjV1Fk18OqS...|             Value2|                 Y|                  K2|
|FpMVRlaHsEOcHyDgy...|             Value3|                 Z|                  K3|
|HERt8eFLRtKkiZndy...|             Value4|                 U|                  K4|
|nWOcbbbm8ZOjUSNfY...|             Value5|                 V|                  K5|
22
Naresh

列の値全体をscalaで出力する場合は、showメソッドの引数truncateをfalseに設定するだけです。

maxDf.show(false)

そして、20行以上を表示したい場合:

// example showing 30 columns of 
// maxDf untruncated
maxDf.show(30, false) 

pysparkの場合、引数名を指定する必要があります。

maxDF.show(truncate = False)
39
eliasah

Niceの表形式ではなく、scalaオブジェクトに変換されます。

maxDF.take(50)
5
WoodChopper