Python 如何将RDD[List[String]]转换为RDD[List[Float]]
例如,本地文件data.txt的结构为:Python 如何将RDD[List[String]]转换为RDD[List[Float]],python,apache-spark,pyspark,Python,Apache Spark,Pyspark,例如,本地文件data.txt的结构为: 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 ... 正在将文件读取为RDD[字符串]: lines = sc.textFile("data.txt") 拆分为RDD[列表[字符串]: data_temp = lines.map(lambda line: line.split(" ")) 如何转换为RDD[列表[浮动] 我知道json.loads()可以解析字符串,在这种情况下怎么办 拆分行时,只需将所有字符串转换为
1.0 2.0 3.0 4.0
5.0 6.0 7.0 8.0
...
正在将文件读取为RDD[字符串]:
lines = sc.textFile("data.txt")
拆分为RDD[列表[字符串]:
data_temp = lines.map(lambda line: line.split(" "))
如何转换为RDD[列表[浮动]
我知道
json.loads()
可以解析字符串,在这种情况下怎么办 拆分行时,只需将所有字符串转换为浮点:
data_temp = line.map(lambda line: [float(i) for i in line.split(" ")])
或者,您可以将数据读取为数据帧并推断类型:
df = (spark.read
.schema(schema)
.option("header", "true")
.option("inferSchema", "true")
.csv("some_input_file.csv"))
有关读取csv文件时不同选项的更多信息,请参阅。使用Spark csv reader,并将
inferSchema
设置为true。