代码之家  ›  专栏  ›  技术社区  ›  raul

将列表unicode值的rdd列表转换为字符串

  •  0
  • raul  · 技术社区  · 7 年前

    我有一个spark rdd,它的值以unicode作为列表:

    ex_rdd.take(5)
    [[u'70450535982412348', u'1000000923', u'1'],
     [u'535982417348', u'1000000923', u'1'],
     [u'50535929459899', u'1000000923', u'99'],
     [u'8070450535936297811', u'1000000923', u'1'],
     [u'5937908667', u'1000000923', u'1']]
    

    unicode error .如何将它们转换为字符串并在pyspark中高效地写入文件?hdfs输出文件应如下所示-

     70450535982412348,1000000923,1
     535982417348,1000000923,1 
    

    等等

    1 回复  |  直到 7 年前
        1
  •  1
  •   A.M.    7 年前

    您可以使用Python的 join map saveAsTextFile pyspark上的操作。RDD对象(请参阅文档 here ).

    ex_rdd.map(lambda L: ','.join(L)).saveAsTextFile('/path/to/hdfs/save/file')
    

    如果我没有弄错的话,即使是PySpark的早期版本(>=1.0),也应该可以使用它。

    我不知道你说的是什么意思“ unicode error “。这是Python中的异常吗?还是Java内部的异常?