2017-01-09 8 views
0

まず、このコードを実行して、それを調べました。今、データと時間を含むタイムスタンプから日付のみを抽出したいと思います。しかし、私はそれをどうやって行うのか分かりません。 GetYearGetMonthGetDayを使用しましたが、常にエラーが表示されました。ブタのタイムスタンプから日付を抽出する

define Quantile datafu.pig.stats.Quantile('21'); data_raw = LOAD 'California/2016/March-2016.csv' USING PigStorage(',') AS (tmc_code:chararray, measurement_tstamp:chararray, speed:int, average_speed:int, reference_speed:int, travel_time_minutes:int,confidence_score:int, cvalue:int); 

filtered_data = FILTER data_raw BY confidence_score == 30; 

data_reqd = GROUP filtered_data BY (tmc_code, measurement_tstamp); 

quantiles = FOREACH data_reqd GENERATE group.tmc_code, ToDate(group.measurement_tstamp,'YYYY-MM-DD HH:mm:ss') AS date, Quantile(filtered_data.speed); 

results = Limit quantiles 10; 

DUMP results; 

誰かがmeasurement_tstampから日付のみを抽出するために私を助けることができる場合、私はそれをお願い申し上げます。

+0

エラーが何であるに答えましたか? –

答えて

0

これは、あなたがそれを

results_new = FOREACH quantiles GENERATE CONCAT(CONCAT(CONCAT((chararray)GetYear(date),'-')),(CONCAT((chararray)GetMonth(date),'-')),(chararray)GetDay(date)) AS Day; 

を行う可能性がどのように私は同様の質問here

+0

私はそれを使用しましたが、このエラーが発生しました。 ERROR 1045: org.apache.pig.builtin.CONCATの一致関数を複数のものとして、またはどれも適合しないものとして推論できませんでした。明示的なキャストを使用してください。 –

+0

chararrayGetYear(date)のように個々の項目をchararrayにキャストします。 –

関連する問題