<p><a href="https://docs.python.org/2/library/stdtypes.html?highlight=zfill#str.zfill" rel="nofollow noreferrer">^{<cd1>}</a>函数可能会有所帮助</p>
<p>你知道吗输入.txt你知道吗</p>
<pre><code>1245
1425
945
823
</code></pre>
<p>猪_自定义项.py你知道吗</p>
<pre><code>@outputSchema('time:chararray')
def lpad_time(time):
return time.zfill(4)
</code></pre>
<p>时间_格式化程序.pig你知道吗</p>
<pre><code>register pig_udfs.py using jython as myfuncs;
A = LOAD 'input.txt' USING PigStorage();
B = FOREACH A GENERATE myfuncs.lpad_time((chararray) $0);
\d B
</code></pre>
<p>输出</p>
<pre><code>(1245)
(1425)
(0945)
(0823)
</code></pre>
<p>显然,可以让Python自己完成整个<code>todate</code>函数。。。你知道吗</p>
<p>另外,我不清楚你的问题,如果分钟是零填充。你知道吗</p>
<hr/>
<p><strong>编辑</p>
<p>你知道吗航空公司.csv你知道吗</p>
<pre><code>2008,1,3,4,617,615,652,650,WN,11,N689SW,95,95,70,2,2,IND,MCI,451,6,19,0,,0,NA,NA,NA,NA,NA,,,,None,None,None,None,,,,,,,,,,,,,,,,,,,,,
</code></pre>
<p>清管器代码</p>
<pre><code>register pig_udfs.py using jython as myfuncs;
A = LOAD 'airlines.csv' USING PigStorage(',');
B = FOREACH A GENERATE $0 AS Year, $1 AS Month, $2 AS DayofMonth, $4 AS DayofWeek,myfuncs.lpad_time((chararray) $4) AS DepTime_actual_new,myfuncs.lpad_time((chararray) $5) AS CRSDeptime_new,myfuncs.lpad_time((chararray) $6) AS Arrtime_actual_new,myfuncs.lpad_time((chararray) $7) AS CRSArrtime_new,$8 AS UniqueCarrier,$9 AS FlightNum,$10 AS TailNum_Plane,$11 AS ActualElapsedTime, $12 AS CRSElapsedTime, $13 AS Airtime, $14 AS Arrdelay, $15 AS Depdelay, $16 AS Origin, $17 AS Dest, $18 AS Distance, $19 AS Taxiin, $20 AS Taxiout, $21 AS Cancelled, $22 AS CancellationCode, $23 AS Diverted, $24 AS CarrierDelay, $25 AS WeatherDelay, $26 AS NASDelay, $27 AS SecurityDelay, $28 AS LateAircraftDelay ;
\d B
</code></pre>
<p>输出</p>
<pre><code>(2008,1,3,617,0617,0615,0652,0650,WN,11,N689SW,95,95,70,2,2,IND,MCI,451,6,19,0,,0,NA,NA,NA,NA,NA)
</code></pre>