使用map算子,将rdd的数据(1, 2, 3, 4, 5)按照下面的规则进行转换操作,规则如下: 偶数转换成该数的平方; 奇数转换成该数的立方。 需求2:使用map算子,将rdd的数据("dog", "salmon", "salmon", "rat", "elephant")按照下面的规则进行转换操作,规则如下: 将字符串与该字符串的长度组合成一个元组,例如: dog --> (dog,3) salmon --> (salmon,6)
时间: 2024-03-12 19:43:45 浏览: 219
【SparkCore篇02】RDD转换算子1
好的,我理解了你的问题。下面是解答:
问题一的解答:
```python
# 创建一个RDD
nums = sc.parallelize([1, 2, 3, 4, 5])
# 使用map算子进行转换
result = nums.map(lambda x: x**2 if x % 2 == 0 else x**3)
# 输出结果
print(result.collect())
```
输出如下:
```
[1, 4, 27, 16, 125]
```
问题二的解答:
```python
# 创建一个RDD
words = sc.parallelize(["dog", "salmon", "salmon", "rat", "elephant"])
# 使用map算子进行转换
result = words.map(lambda x: (x, len(x)))
# 输出结果
print(result.collect())
```
输出如下:
```
[('dog', 3), ('salmon', 6), ('salmon', 6), ('rat', 3), ('elephant', 8)]
```
阅读全文