获取超过20行并在spark-shell中显示列的完整值

Nar*_*esh 25 scala apache-spark apache-spark-sql pyspark

我使用CassandraSQLContextspark-shell来查询来自Cassandra的数据.所以,我想知道两个方面,一个是如何获取超过20行CassandraSQLContext,第二个是如何Id显示列的完整值.正如您在默认情况下可以看到的那样,它会在字符串值中附加点.

代码:

val csc = new CassandraSQLContext(sc)
csc.setKeyspace("KeySpace")
val maxDF = csc.sql("SQL_QUERY" )
maxDF.show
Run Code Online (Sandbox Code Playgroud)

输出:

+--------------------+--------------------+-----------------+--------------------+
|                  id|               Col2|              Col3|                Col4| 
+--------------------+--------------------+-----------------+--------------------+
|8wzloRMrGpf8Q3bbk...|             Value1|                 X|                  K1|
|AxRfoHDjV1Fk18OqS...|             Value2|                 Y|                  K2|
|FpMVRlaHsEOcHyDgy...|             Value3|                 Z|                  K3|
|HERt8eFLRtKkiZndy...|             Value4|                 U|                  K4|
|nWOcbbbm8ZOjUSNfY...|             Value5|                 V|                  K5|
Run Code Online (Sandbox Code Playgroud)

eli*_*sah 43

如果要打印列的整个值,只需将show方法中的参数truncate设置为false:

maxDf.show(false)
Run Code Online (Sandbox Code Playgroud)

如果您希望显示超过20行:

// example showing 30 columns of 
// maxDf untruncated
maxDf.show(30, false) 
Run Code Online (Sandbox Code Playgroud)

  • 对于在这里制作它的pyspark用户,只需确保指定`truncate`参数名称并将你的`False`大写:`maxDF.show(truncate = False)` (5认同)

Woo*_*per 5

你不会得到漂亮的表格形式,而是将它转换为scala对象.

maxDF.take(50)
Run Code Online (Sandbox Code Playgroud)