第一个数组:var keycolumns=“a,b”.split(“,”)
第二个数组:var colvalues=dataframetest.select(“y”,“z”).collect.map(row=>row.tostring)colvalues:array[string]=array([1,2],[3,4],[5,6])
我想要的结果是:数组([a=1,b=2],[a=3,b=4],[a=5,b=6])
这样以后我就可以遍历这个数组,创建where子句,比如where(a=1和b=2)或(a=3和b=4)或(a=5和b=6)
2条答案
按热度按时间amrnrhlw1#
首先,不要将结构化数据转换为字符串。做
.map(_.toSeq)
收集后,不toString
.那么,像这样的事情应该会起作用:
您可能会发现在repl中一步一步地运行这个命令并查看每一行的作用是很有帮助的。
y4ekin9u2#
可以使用正则表达式,如: