我有一个json,看起来像这样:
{
"cols": [
"id",
"value"
],
"data": [
[
1,
"0.10259593440335"
],
[
2,
"0.0061205302736639"
],
[
3,
"-0.36367513456978"
],
[
4,
"0.080167833573921"
],
.
.
.
下面是我使用Pypark读取数据的代码:
import sys
sys.path.insert(0, '.')
from pyspark import SparkContext, SparkConf
def strip(line: str):
if line[-1] == ',':
return float(line[3:-1])
else:
return float(line[4:-1])
if __name__ == "__main__":
conf = SparkConf().setAppName("airports").setMaster("local[*]")
sc = SparkContext(conf = conf)
json = sc.textFile("dataMay-31-2017.json")
jsonCol = json.filter(lambda line: '\t\t\t' in line)
jsonCol = jsonCol.map(strip)
在最后一次映射操作之后,我得到了包含以下元素的和RDD:
[1.0, 0.10259593440335, 2.0, 0.0061205302736639, 3.0, -0.36367513456978, 4.0, 0.080167833573921,...
现在我要执行一个操作,它将给出两个元组的me和RDD:
[(1.0, 0.10259593440335), (2.0, 0.0061205302736639), (3.0, -0.36367513456978), (4.0, 0.080167833573921),...
正确的方法是什么?你知道吗
相关问题 更多 >
编程相关推荐