我一直在谷歌搜索并尝试了几个小时而没有运气,希望你们中的任何人都可以提供建议。
我正在将大量文件读入Spark RDD,并且我想将包含时间戳的文件名附加到RDD的每一行中。到目前为止,这就是我所得到的。
def append_name(x):
filename = x[0].split('\n') #take the filename
content = x[1].split('\n') #take the content
output = [(row.split(','), filename) for row in content]
flattened = [item for sublist in output for item in sublist]
return flattened
data_file = sc.wholeTextFiles("data/").flatMap(lambda l: append_name(l))
data_file.take(1)
我的输出如下:
[[u'25689119206459',
u'True',
u'3',
u'main',
u'used_car',
u'Huzhou',
u'False',
u'False',
u'21824706815494',
u'0',
u'http://jump.zhineng.58.com/clk?target=mv7V0A-b5HTh',
u'0\r'],
[u'file:/home/user/data/light_2016-06-01T04-02-27_node1.csv']]
这仍然是列表清单......即使我已经将它弄平了。我错过了什么想法?我也尝试使用建议的解决方案here并得到相同的结果。
感谢。
答案 0 :(得分:3)
试试这个:
<article>
<header><h1>Product title</h1><header>
<img src="image.jpg"/>
<p>Description</p>
<p>Price</p>
<p><a href="...">Order</a></p>
</article>
<article>
<header><h1>Related products</h1></header>
<section>
<a href="..."><img src="image1.jpg"><br/>Product 1</a><br/>Price
</section>
<section>
<a href="..."><img src="image2.jpg"><br/>Product 2</a><br/>Price
</section>
<section>
<a href="..."><img src="image3.jpg"><br/>Product 3</a><br/>Price
</section>
</article>
答案 1 :(得分:0)
这是另一个更简单的版本:
allInOneRDD = sc.wholeTextFiles("data/").flatMap(lambda l:[line+","+f for line in c.splitlines()])