为什么SparkSQL没有返回正常的字符串结果?

时间:2016-12-21 03:14:47

标签: apache-spark pyspark apache-spark-sql

我使用以下代码从镶木地板中读取数据,然后应用SparkSQL。

data = sqlContext.read.parquet('hdfs://my_hdfs_path/my_db.db/my_table')
data.registerTempTable("table1")
sqlContext.sql("select id, col_A from table1").show(10)

+--------------------+--------------------+
|                  id|              col_A |
+--------------------+--------------------+
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
|[35 32 34 44 46 4...|[33 45 34 43 31 4...|
+--------------------+--------------------+

但是,该表格未显示列idcol_A的正常字符串。相反,它显示了类似二进制值的东西。如何确保结果显示常规字符串值?谢谢!

1 个答案:

答案 0 :(得分:1)

show有一个可选参数truncate,默认设置为true。如果您希望一切顺利,请show(10, truncate=false)。请注意,输出不会很好。