-2
我有一個包含1000多行文本的文本文件,我想處理該文本文件中的交替行。即第一條生產線2和第四條生產線,就像那樣。那麼,如何使用Apache Pig
從文本文件中獲得這些備用行?使用Apache Pig獲取交替線形成文本文件
我有一個包含1000多行文本的文本文件,我想處理該文本文件中的交替行。即第一條生產線2和第四條生產線,就像那樣。那麼,如何使用Apache Pig
從文本文件中獲得這些備用行?使用Apache Pig獲取交替線形成文本文件
您可以在複製到HDFS之前預處理文件。 Sed和AWK對於這種數據操作非常有用。
sed -n '0~2p' 'input file name' > 'output file name'
編寫一個擴展FilterFunc的Pig UDF。在UDF中使用計數器可以在每行正在調用時遞增該值。過濾具有奇數計數器值的行。
希望這會有所幫助。
由於Pig會翻譯爲MapReduce作業,因此不能保證文件中的行將按順序處理。該文件將被拆分成不同的塊並分開處理。 –
他提到該文件包含1000行txt,因此我假設文件的總大小低於64MB。你的觀點也有道理。 –
實際上,有一些UDF(從DataFu檢查Enumerate)會這樣做。我不確定內存密集程度如何,因爲許多聚合函數實際上會將整個內存傳遞到內存中,可能不適用於所有目的。 –