在Hadoop2.4.1下安装Pig0.17.0安装遇到问题

srx931129 2017-09-18 04:01:53
a=LOAD '/flow/input/flow.log' AS (value:int);使用该行命令测试时出现问题

Error during parsing. Encountered " <PATH> "a=LOAD "" at line 1, column 1.
Was expecting one of:
<EOF>
"cat" ...
"clear" ...
"fs" ...
"sh" ...
"cd" ...
"cp" ...
"copyFromLocal" ...
"copyToLocal" ...
"dump" ...
"\\d" ...
"describe" ...
"\\de" ...
"aliases" ...
"explain" ...
"\\e" ...
"help" ...
"history" ...
"kill" ...
"ls" ...
"mv" ...
"mkdir" ...
"pwd" ...
"quit" ...
"\\q" ...
"register" ...
"rm" ...
"rmf" ...
"set" ...
"illustrate" ...
"\\i" ...
"run" ...
"exec" ...
"%default" ...
"%declare" ...
"scriptDone" ...
"" ...
"" ...
<EOL> ...
";" ...

Details at logfile: /usr/local/pig/bin/pig_1505721124940.log
显示没有这条命令,求大神们告知
...全文
326 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
碧水幽幽泉 2017-09-19
  • 打赏
  • 举报
回复
SAS数据集如何选择为负数的部分,变为正数
B1 B2 B3......(变量)
obs1 2 0.5 9
obs2 1.3 -0.2 -10
obs3 -0.4 -5 -2

方法1:
data b;
set a;
b1=abs(b1);
b2=abs(b2);
b3=abs(b3);
run;

改进优化:
data have;
input obs$ B1 B2 B3;
cards;
obs1 2 0.5 9
obs2 1.3 -0.2 -10
obs3 -0.4 -5 -2
;
data want(drop=i);
set have;
array b(*) _numeric_; /*_numeric_代表所有数值型变量的列表,用_character_代表所有字符型变量的列表,用_all_代表所有变量的列表*/
do i=1 to dim(b); /*dim求数组的个数,dim(b)=3*/
b(i)=abs(b(i));
end;
run;
碧水幽幽泉 2017-09-19
  • 打赏
  • 举报
回复
SAS中intck函数计算日期天数间隔等妙用

大家肯定知道自己几岁,度过了多少个季节。那多少人知道自己从出生到现在有多少个月,多少个周、多少天吗?
SAS可以帮你解决,用intck函数,将你的出生日期和今天的日期放在下列函数就OK!可以应用到客户的入网时长等计算中。

1.利用intck函数
data a;
format x date9. y date9.;
x='05DEC1985'd;y='18APR2017'd;
year=intck('year',x,y);
qtr=intck('qtr',x,y);
month=intck('month',x,y);
week=intck('week',x,y);
day=intck('day',x,y);
put year= qtr= month= week= day=;
run;

改进:
data aaa;
input birthday mmddyy8.;
format birthday mmddyy8.;
bday=put(birthday,mmddyy8.);
today=put(today(),mmddyy8.);
age=intck('year',birthday,today()); /*会四舍五入年龄*/
age1 = floor
((intck('month',birthday,today())
- (day(today()) < day(birthday))) / 12);
cards;
01251956
09021968
02181948
10271999
;
run;

2.利用宏
%macro yourdays(birthday=);
data _null_;
file print;
y=today();
x=&birthday;
year=intck('year',x,y);
qtr=intck('qtr',x,y);
month=intck('month',x,y);
week=intck('week',x,y);
day=intck('day',x,y);
put "你在这个世界上活了"year"年,"month"月," week"星期," day"天。";
run;
%mend;
%yourdays(birthday='08jun1988'd);

改进优化后:
%macro yourdays(birthday=);
ods listing close;
ods html;
data _null_;
file print;
time=time();
y=today();
x=&birthday;
year=Intck('year',x,y);
qtr=Intck('qtr',x,y);
month=Intck('month',x,y);
week=Intck('week',x,y);
day=Intck('day',x,y);
put 100*'*';
put "现在是"y:yymmdd10."号" time:time5."分。";
put;
put "截止到目前,你在这个世界上活了"year"年," month"个月," week"个星期," day"天。";
put;
put "请珍惜你生命中的每一天!";
put;
put 100*'*';
run;
ods html close;
ods listing;
%mend;
/*将以下日期改为你的生日,直接运行全部程序*/
%yourdays(birthday='08jun1988'd);
碧水幽幽泉 2017-09-19
  • 打赏
  • 举报
回复
如何利用身份证号码求年龄:

1.利用INTCK函数,
身份证的第7-14位是出生年月日。以身份证号442423199102280873为例:
data aa;
input x $ 7-14;
y=input(x,yymmdd10.);
age=intck('year',y,date());
cards;
442423199102280873
;
run;
得到的age变量就是年龄。

2.input+substr
options nodate; /*删除每页顶部的日期*/
data pieces_parts;
input id $ 1-18;
length num $ 4;
num = 2017-input(substr(id,7,4),4.); /*得到的num变量就是年龄*/
put num;
datalines;
442423199102280873
;
title "Listing of Data Set pieces_parts";
proc print data= pieces_parts noobs;
run;

20,811

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧