【问题标题】:Jupyter Notebooks Spark RDD split function - remove bracketsJupyter Notebooks Spark RDD 拆分功能——去掉括号
【发布时间】:2020-03-04 22:53:59
【问题描述】:

我从以前的 RDD 中获取了一些“列”,而不是想要拆分第二个元素。 Spark 将其包裹在括号中。如何将它们放在一行中(取消它们,所以删除括号)? 我花了大约 10 个小时来找到解决方案......需要在不使用数据框的情况下完成。 谢谢

separatedRDD =  extractedRDD.map(lambda y: (y[0],y[1].split(' ' , 1),y[2],y[3]))

separatedRDD.take(2) # get output

[(u'2014-03-15:10:10:20',
  [u'Sorrento', u'F41L'],  ############### those are brackets I am talking about...
  u'8cc3b47e-bd01-4482-b500-28f2342679af',
  u'33.6894754264'),
 (u'2014-03-15:10:10:20',
  [u'MeeToo', u'1.0'],
  u'ef8c7564-0a1a-4650-a655-c8bbd5f8f943',
  u'37.4321088904')] 

【问题讨论】:

    标签: python apache-spark jupyter azure-notebooks


    【解决方案1】:

    这是一个列表,所以你只需要一个一个拉它的元素来展平它(假设大小总是小到2):

    separatedRDD.map(lambda y: (y[0], y[1][0], y[1][1], y[2])).collect()
    

    结果:

    [('2014-03-15:10:10:20',
      'Sorrento',
      'F41L',
      '8cc3b47e-bd01-4482-b500-28f2342679af'),
     ('2014-03-15:10:10:20',
      'MeeToo',
      '1.0',
      'ef8c7564-0a1a-4650-a655-c8bbd5f8f943')]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多