2017-06-26 6 views
0

HDFSに入力データファイルがあります。私はそのファイルを読んで、下のようないくつかの検証を行います。検証を実行した後、私は結果を以下のように取得しています。私はpysparkを使ってカンマの区切り文字を '\ t'に変更し、HDFSに保存したいと思います。誰でも私にこれを手伝うことができますか? (いいえcsv ansしてください)。前もって感謝します。pysparkを使用してデリミタを変更し、HDFSにテキストファイルとして保存します。

Validation Code: 
dc = data_f.filter("age > 25").filter(data_f.mar == '"married"').groupBy("job","edu").avg("bal","age").sort(data_f.job.desc(),"edu").rdd.map(list).collect() 

Result: 
    [[u'"unknown"', u'"primary"', 1515.974358974359, 48.61538461538461], 
    [u'"unknown"', u'"secondary"', 1314.2045454545455, 47.84090909090909], 
    [u'"unknown"', u'"tertiary"', 2328.64, 51.84], 
    [u'"unknown"', u'"unknown"', 1977.1157894736841, 51.694736842105264], 
    [u'"unemployed"', u'"primary"', 1685.6097560975609, 44.957317073170735], 
    [u'"unemployed"', u'"secondary"', 1472.3518072289157, 43.8433734939759], 
    [u'"unemployed"', u'"tertiary"', 1865.968992248062, 41.031007751937985], 
    [u'"unemployed"', u'"unknown"', 859.1875, 45.375], 
    [u'"technician"', u'"primary"', 1512.704, 47.912]] 

答えて

0

あなたは

.csv.write 

方法を避けるために必要がある場合は、あなただけのRDD

def concatenate_row(row): 
    concatenated_row = "" 
    for col in row: 
     concatenated_row += str(col) + "\t" 
    return concatenated_row 

result = rdd.map(lambda row : concatenate_row(row)) 

にこのスニペットを使用して、ちょうどそれに

saveAsTextFile 

メソッドを呼び出すことができます

+0

あなたのお返事をよろしくお願いします。 – Rahul

関連する問題