索引付けのために LucidWorks ビッグデータにフィードされるデータに対して前処理を行おうとしています。LWBD は、Sequencefile ファイルの形式で SolrXML を受け入れます。ディレクトリ内のすべての SolrXML ファイルを取得し、それらを次の形式で出力する Pig スクリプトを作成したいと考えています。
filename_1 => <here goes some XML>
...
filename_N => <here goes some more XML>
Pig のネイティブPigStorage()
ロード関数は、データが抽出されたファイルの名前を含む列を自動的に作成できます。理想的には次のようになります。
{"filename_1", "<here goes some XML>"}
...
{"filename_N", "<here goes some more XML>"}
ただし、PigStorage() は自動的に '\n' を行区切り文字として使用するため、実際には次のようなバッグになります。
{"filename_1", "<some partial XML from file 1>"}
{"filename_1", "<some more partial XML from file 1>"}
{"filename_1", "<the end of file 1>"}
...
私はあなたが絵を手に入れると確信しています。私の質問は、このバッグを SequenceFile に書き込むとしたら、他のアプリケーションはどのように読み取るのでしょうか? として組み合わせることができますか?
"filename_1" => "<some partial XML from file 1>
<some more partial XML from file 1>
<the end of file 1>"
、私がそれをフィードするアプリケーションのデフォルトの処理によって?または、この形式にするためにできる後処理はありますか? ご協力ありがとうございました。