Java 清管器ToDate(日期,年月日)发行
我将日期作为字符存储在Java 清管器ToDate(日期,年月日)发行,java,date,datetime,hadoop,apache-pig,Java,Date,Datetime,Hadoop,Apache Pig,我将日期作为字符存储在[30/Sep/2015:08:00:36-0700]格式中 test = FOREACH b GENERATE ToDate(SUBSTRING(time,1,12),'dd/MMM/yyyy') AS date; 它给我的输出类似于2015-10-31T00:00:00.000+05:30 根据文档,ToDate(userstring,format)格式的第二个参数是,因此它应该以日期时间格式给出输出30/Sep/2015。 我将使用该日期进行排序 我在java.te
[30/Sep/2015:08:00:36-0700]
格式中
test = FOREACH b GENERATE ToDate(SUBSTRING(time,1,12),'dd/MMM/yyyy') AS date;
它给我的输出类似于2015-10-31T00:00:00.000+05:30
根据文档,ToDate(userstring,format)格式的第二个参数是,因此它应该以日期时间格式给出输出30/Sep/2015
。
我将使用该日期进行排序 我在java.text.simpleDataFormat类(您的链接)中看不到任何ToDate方法 我准备了这个测试来证明行为的一致性
@Test
public void date()
{
SimpleDateFormat sdf= new SimpleDateFormat("dd/MMM/yyyy");
String v="[30/Sep/2015:08:00:36 -0700]";
try {
Date d=sdf.parse(v.substring(1,12));
System.out.println(sdf.format(d));
} catch (ParseException e) {
e.printStackTrace();
}
}
我的输出是
2015年9月30日
希望这能有所帮助我在java.text.simpleDataFormat类(您的链接)中看不到任何ToDate方法 我准备了这个测试来证明行为的一致性
@Test
public void date()
{
SimpleDateFormat sdf= new SimpleDateFormat("dd/MMM/yyyy");
String v="[30/Sep/2015:08:00:36 -0700]";
try {
Date d=sdf.parse(v.substring(1,12));
System.out.println(sdf.format(d));
} catch (ParseException e) {
e.printStackTrace();
}
}
我的输出是
2015年9月30日
希望这能帮助输入
A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP D;
脚本
A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP D;
输出
A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP D;
输入
A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP D;
脚本
A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP D;
输出
A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP D;
哦,对不起,忘了提到链接。我说的是pig的ToDate()函数。哦,对不起,忘了提到链接。我说的是pig的ToDate()函数。使用ToDate转换,使用ToString排序和格式化。使用ToDate转换,使用ToString排序和格式化。谢谢。这是否意味着第二个参数格式意味着输入字符串的格式?谢谢。它是否意味着第二个参数格式意味着输入字符串的格式?