【发布时间】:2017-05-06 09:21:05
【问题描述】:
我正在使用以下代码从 parquet 读取数据,然后应用 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...|
+--------------------+--------------------+
但是,表格没有显示列id 和col_A 的正常字符串。相反,它显示的是二进制值。如何确保结果显示常规字符串值?谢谢!
【问题讨论】:
-
您尝试过投射列吗?
data.select(data['id'].cast('string'), data['col_A'].cast('string')).show()
标签: apache-spark pyspark apache-spark-sql