RDD具有一个有意义的(与存储模型强加的一些随机顺序相反),如果它被处理sortBy(),则如本回复中所解释的那样.
现在,哪些操作保留了该订单?
例如,是否保证(之后a.sortBy())
a.map(f).zip(a) ===
a.map(x => (f(x),x))
Run Code Online (Sandbox Code Playgroud)
怎么样
a.filter(f).map(g) ===
a.map(x => (x,g(x))).filter(f(_._1)).map(_._2)
Run Code Online (Sandbox Code Playgroud)
关于什么
a.filter(f).flatMap(g) ===
a.flatMap(x => g(x).map((x,_))).filter(f(_._1)).map(_._2)
Run Code Online (Sandbox Code Playgroud)
这里"平等" ===被理解为"功能等同",即,没有办法使用用户级操作来区分结果(即,没有读取日志和c).
我有两个DataFrame a和b.
a就好像
Column 1 | Column 2
abc | 123
cde | 23
Run Code Online (Sandbox Code Playgroud)
b 就好像
Column 1
1
2
Run Code Online (Sandbox Code Playgroud)
我想压缩a和b(甚至更多)DataFrames,它们变成了:
Column 1 | Column 2 | Column 3
abc | 123 | 1
cde | 23 | 2
Run Code Online (Sandbox Code Playgroud)
我该怎么做?