Pyspark RDD:转换为字符串
Pyspark RDD: convert to string
使用 rddfloat = rdd.map( (float(x[0]), float(x[1])) )
,我将 rdd 的列转换为浮点数,以便我可以用它们进行数学运算。现在我完成了数学运算,我想将它们转换回原来的 StringType。
我试过 rddstr = rddfloat( (str(x[0]), str(x[1]), str(x[2])) ),它 return 一个字符串'40.745555'
,但这与原始的 rdd u'40.745555'
不同。它们之间有什么区别,我怎样才能将它转换回原来的样子?
我假设您使用的是 Python 2.X。这意味着如果你想产生一个unicode字符串,你需要调用unicode,比如
rddstr = rddfloat( (unicode(x[0]), str(x[1]), str(x[2])) )
但是,为了更好地理解差异,我建议您在线搜索,因为这是一个很常见的问题。例如,以下问题中报告的某些答案对您来说可能听起来很合理:
- Python str vs unicode types
特别是,这个答案可能对您有帮助:
使用 rddfloat = rdd.map( (float(x[0]), float(x[1])) )
,我将 rdd 的列转换为浮点数,以便我可以用它们进行数学运算。现在我完成了数学运算,我想将它们转换回原来的 StringType。
我试过 rddstr = rddfloat( (str(x[0]), str(x[1]), str(x[2])) ),它 return 一个字符串'40.745555'
,但这与原始的 rdd u'40.745555'
不同。它们之间有什么区别,我怎样才能将它转换回原来的样子?
我假设您使用的是 Python 2.X。这意味着如果你想产生一个unicode字符串,你需要调用unicode,比如
rddstr = rddfloat( (unicode(x[0]), str(x[1]), str(x[2])) )
但是,为了更好地理解差异,我建议您在线搜索,因为这是一个很常见的问题。例如,以下问题中报告的某些答案对您来说可能听起来很合理:
- Python str vs unicode types
特别是,这个答案可能对您有帮助: