Mic*_*ael 4 apache-spark apache-spark-sql pyspark
假设我从一个没有模式的列表创建一个数据框:
data = [Row(c=0, b=1, a=2), Row(c=10, b=11, a=12)]
df = spark.createDataFrame(data)
df.show()
Run Code Online (Sandbox Code Playgroud)
+---+---+---+
| a| b| c|
+---+---+---+
| 2| 1| 0|
| 12| 11| 10|
+---+---+---+
Run Code Online (Sandbox Code Playgroud)
为什么列按字母顺序重新排序?
是否可以在不添加架构的情况下保留列的原始顺序?
为什么列按字母顺序重新排序?
需要此设计选择来解决PEP 468中描述的问题。请检查SPARK-12467以进行讨论。
是否可以在不添加架构的情况下保留列的原始顺序?
不与**kwargs。您可以使用plain tuples:
df = spark.createDataFrame([(0, 1, 2), (10, 11, 12)], ["c", "b", "a"])
Run Code Online (Sandbox Code Playgroud)
或namedtuple:
from collections import namedtuple
CBA = namedtuple("CBA", ["c", "b", "a"])
spark.createDataFrame([CBA(0, 1, 2), CBA(10, 11, 12)])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
551 次 |
| 最近记录: |