我正在使用 pyspark 并将配置单元表导入到数据框中。
df = sqlContext.sql("from hive_table select *")
我需要有关将此 df 转换为 numpy 数组的帮助。您可以假设 hive_table 只有一列。
你能推荐一下吗?先感谢您。
最佳答案
您可以:
sqlContext.range(0, 10).toPandas().values # .reshape(-1) for 1d array
array([[0],
[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9]])
但您不太可能真的想要。创建的 array
将在驱动程序节点本地,因此它很少有用。如果您正在寻找类似分布式数组的数据结构的某种变体,Apache Spark 中有许多可能的选择:
-
pyspark.mllib.linalg.distributed
它提供了一些 distributed matrix类。 -
sparkit-learn
ArrayRDD
.
并且独立于 Apache Spark:
关于python - 如何将 spark sql 数据帧转换为 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41770712/