我在pyspark
中有一个像下面这样的框架
df = spark.createDataFrame([
['red', 1, 'blue', 1]], schema=['orc_color', 'orc_numbr', 'hive_color', 'hive_numbr'])
内容如下
df.show()
+---------+---------+----------+----------+
|orc_color|orc_numbr|hive_color|hive_numbr|
+---------+---------+----------+----------+
| red| 1| blue| 1|
+---------+---------+----------+----------+
我想创建如下数据框
预期输出
+-----------+----------+------------+-----------+-----------+
|orc_columns|orc_values|hive_columns|hive_values| Status|
+-----------+----------+------------+-----------+-----------+
| orc_color | red| hive_color| blue| Un_matched|
| orc_numbr | 1| hive_numbr| 1| Matched|
+-----------+----------+------------+-----------+-----------+
我想在columns
中的第一个_
之后的子字符串的基础上记录,并比较values
列中的数据。
举例来说:
orc_color == hive_color based on substring after first `_` and compare the `values` column and check if matching or not
1条答案
按热度按时间im9ewurl1#
1.获取一组不同的前缀
1.为前4列创建堆栈表达式
1.运行堆栈表达式并比较包含值的两列
输出量: