0
ローカルディレクトリに多数の販売テキストファイルを含むフォルダがありました。さんが2つのテキストファイルの例を見てみましょう:構造化されていないファイルのスパーク抽出と変換
テキストファイル1:
Sales Details
20161120
Sales Person: John
Code Product Quantity Price
A0001 Product1 20 15.90
A0003 Product3 13 23.80
テキストファイル2:
Sales Details
20161130
Sales Person: Alicia
Code Product Quantity Price
A0007 Product7 342 79.50
A0008 Product8 55 432.80
A0009 Product9 100 134.30
を私はHDFSにファイルをストリーミングするために水路を使用していました。これらの小さなファイルはすべてHDFSの1つの大きなファイルにまとめられています。 Sparkを使ってこれらのファイルを抽出して変換するとき、私はここで皆さんからアドバイスを求める必要があるいくつかの問題に直面しました。
上記2つのファイルに基づいて、HDFSの1つのファイルに結合されます。私は次のようHDFSからテキストファイルを読むためにスパークを使用します。
私は2つの販売詳細に ラインを分割し、各営業担当者のための情報を抽出するにはどうすればよいlines = spark.read.text('/user/tester/sales')
?
Date SalesPerson Code Product Quantity Price
感謝を:私の最終目標は、情報を抽出し、以下のstrucutureでハイブテーブルにそれを置くことです。
ありがとうMariusz !!!それを処理する方法のアイデアを得るのに役立ちます。ユーザー定義関数を使用することで、sparkアプリケーションを実行しているときでも、ローカルのpython処理の代わりにsparkエンジンを活用しますか? – kcyea
はい、確かです。この機能はクラスタノード上で実行されますが、並列処理を実現するには、入力ディレクトリに複数の大きなファイルが存在する必要があります。 – Mariusz
Ok ...ところで、 "text"と比べて "wholeTextFiles"を使う方が良いでしょうか? – kcyea