/// import
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
---- html code ----
'프로그램밍언어 > HTML,JAVASCRIPT' 카테고리의 다른 글
eclipse (0) | 2014.06.20 |
---|
/// import
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
---- html code ----
eclipse (0) | 2014.06.20 |
---|
eclipse
이전에 테스트용으로 하둡 query counting과 query merging 테스트 코드를 만들어 놓은 것은
eclipse에서 svn으로 다운로드 받음
다운로드 받고 나면
최상위에 src 디렉토리가 생기고 해당 디렉토리에 아무 파일도 포함돼 있지 않았다.
이 디렉토리에 파일이 추가될려면 즉 컴파일 대상 파일들이 이 디렉토리에 오게 할려면
build path라는걸 해줘야 한다.
하둡의 경우 lib가 필요한 경우도 있기 때문에 lib도 포함시켜야 한다.
--
jar 파일로 만들어 서버에서 실행했더니
실행이 안된다.
java.lang.UnsupportedClassVersionError이라고 에러가 뜬다.
pc(윈도우)에 설치된 자바 버전과 서버에 설치된 자바 버전이 서로 달라서 발생한 문제
해결 방법 :
우선 서버와 동일한 버전의 자바컴파일러를 설치한다.
그리고 eclipse에서 프로젝트에서 마우스 오른쪽 버튼을 눌러 properties를 선택한후
java Complier에서 java 버전을 서버와 동일한 버전으로 맞춘다.
그리고 Project Facets에서도 java버전을 맞춘다.
--
jar 파일을 만들때 서버에 hadoop 관련 라이브러라기 모두 설치돼 있다면 굳이 러이브러리를 포함시킬 필요는 없고
없더먄 runable jar를 만들어 사용
jQuery + ajax (0) | 2014.06.20 |
---|
입력데이터가
time, name, id 일때
ID로 GROUPING을 하고
그룹핑된 갑들에 대해 time순으로 정렬하기 위해 아래와 같이 nested foreach를 사용한다.
A = FOREACH fields GENERATE time, name, id
B = GROUP A BY (id);
C = FOREACH B {
sorted = ORDER A by time;
GENERATE sorted;
};
STORE C INTO '/user/hadoop/jchern/test';
hadoop safemode 해제 (0) | 2014.06.20 |
---|---|
[PIG] set jog.name default_parallel (0) | 2014.06.20 |
[PIG] ERROR 1000: Error during parsing. Encountered (0) | 2014.06.20 |
PIG 관련 URL (0) | 2014.06.20 |
http://stackoverflow.com/questions/4966592/hadoop-safemode-recovery-taking-too-long
하둡 safemode 해제
safemode가 너무 오래 지속될때 아래 명령어로 해제한다.
hadoop dfsadmin -safemode leave
pig Nested FOREACH (0) | 2014.06.20 |
---|---|
[PIG] set jog.name default_parallel (0) | 2014.06.20 |
[PIG] ERROR 1000: Error during parsing. Encountered (0) | 2014.06.20 |
PIG 관련 URL (0) | 2014.06.20 |
실행되는 tast name 설정
set job.name 'jchern - dspklog_count_uuid.pig'
reducer 개수 설정
set default_parallel 20
pig Nested FOREACH (0) | 2014.06.20 |
---|---|
hadoop safemode 해제 (0) | 2014.06.20 |
[PIG] ERROR 1000: Error during parsing. Encountered (0) | 2014.06.20 |
PIG 관련 URL (0) | 2014.06.20 |
PIG를 한번 써볼려고 간단히 테스트 코드를 만들었는데
다음과 같은 에러를 만나다.
[main] ERROR org.apache.pig.tools.grunt.Grunt - org.apache.pig.tools.pigscript.parser.ParseException: Encountered " <PATH> "valid_field=foreach "" at line 7, column 1.
Was expecting one of:
<EOF>
"cat" ...
"fs" ...
"sh" ...
"cd" ...
"cp" ...
"copyFromLocal" ...
"copyToLocal" ...
"dump" ...
"describe" ...
"aliases" ...
"explain" ...
"help" ...
"kill" ...
"ls" ...
"mv" ...
"mkdir" ...
"pwd" ...
"quit" ...
"register" ...
"rm" ...
"rmf" ...
"set" ...
"illustrate" ...
"run" ...
"exec" ...
"scriptDone" ...
"" ...
<EOL> ...
";" ...
at org.apache.pig.tools.pigscript.parser.PigScriptParser.generateParseException(PigScriptParser.java:1058)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.handle_invalid_command(PigScriptParser.java:874)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:529)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:168)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:144)
at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:90)
at org.apache.pig.Main.run(Main.java:500)
at org.apache.pig.Main.main(Main.java:107)
문제는 의외의 곳에 있었고 해결법 역시 간단하다.
연산자(=)에 앞뒤에 공백이 없는것이 문제로 보인다.
INVALID NOTATION :
valid_field=foreach fields generate a, b, c
VALID NOTATION :
valid_field = foreach fields generate a, b, c
pig Nested FOREACH (0) | 2014.06.20 |
---|---|
hadoop safemode 해제 (0) | 2014.06.20 |
[PIG] set jog.name default_parallel (0) | 2014.06.20 |
PIG 관련 URL (0) | 2014.06.20 |
http://www.cloudera.com/wp-content/uploads/2010/01/IntroToPig.pdf
http://wiki.apache.org/pig/PigLatin#Data_Items
http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html
http://pig.apache.org/docs/r0.9.2/func.html#replace
http://wiki.apache.org/pig/PigLatin -add(2013/01/08)
load : 하둡서버의 파일을 LOAD
load 파일경로
필드 구분자 지정 :
A = LOAD 'student' USING PigStorage('\t') AS (name: chararray, age:int, gpa: float);
filter : 지정된 조건을 내용을 필터링한다.
숫자 : X = FILTER A BY (f1 == 8);
문자 : X = FILTER A BY (f2 == 'apache');
매치 : X = FILTER A BY (f1 matches '.*apache.*');
foreach :
변수A에서 $3필드값을 변수 B에 저장
B = FOREACH A GENERATE $3;
store : 하둡서버의 파일을 로컬 파일에 저장
store A11 into /data2/jchern/output.txt
join : 두개의 파일을 키값을 가지고 join
OUT = join IN1 by query, IN2 by query;
order :
OUT = order IN1 by $0 ASC, $15 DESC;
group : 특정 키값을 가지고 그루핑
OUT = group IN1 by (query, url);
pig Nested FOREACH (0) | 2014.06.20 |
---|---|
hadoop safemode 해제 (0) | 2014.06.20 |
[PIG] set jog.name default_parallel (0) | 2014.06.20 |
[PIG] ERROR 1000: Error during parsing. Encountered (0) | 2014.06.20 |
1 my ($key, $val) = split(/\t/);
2 $val =~ s/\{\(//;
3 $val =~ s/\)\}//;
4 my @fields = split(/\),\(/, $val);
위와 같은 코드에서 아래와 같은 에러가 발견되었을 경우
Use of uninitialized value in substitution (s///) at
초기화 되지 않은 변수가 사용되었다는 경고 메세지인데
이유는 단순하다
1번 라인에 의해 값이 할당된 val에 아무런 것도 들어가지 않았을 경우
즉 split에 의해 리턴되는 값이 없을때 발생하는 경고 메세지이다.
회피하는 방법은 간단히
2,3,4 번행을
if( $val ) 문으로 감싸면 해결된다.
1 my ($key, $val) = split(/\t/);
2 if( $val )
3 {
4 $val =~ s/\{\(//;
5 $val =~ s/\)\}//;
6 my @fields = split(/\),\(/, $val);
7 }
[PERL] Wide character in print at (0) | 2014.06.20 |
---|---|
[PERL] Unmatched ) in regex; marked by <-- HERE in (0) | 2014.06.20 |
PERL 기본함수 q, qq qw (0) | 2014.06.20 |
PERL MAP 사용법 (0) | 2014.06.20 |
PERL 파일 열기 읽기 닫기 삭제 (0) | 2014.06.20 |
my $temp = "테스트";
이런식으로 코드 중간에 한글 문자열을 넣었을때 다음과 같은 경고 메세지가 뜬다.
Wide character in print at
$direction = encode('utf-8',"이전:어절:");
해결 방법 :
use Encode;
...
my $temp = encode('utf-8',"테스트");
PERL Use of uninitialized value in substitution (0) | 2014.06.20 |
---|---|
[PERL] Unmatched ) in regex; marked by <-- HERE in (0) | 2014.06.20 |
PERL 기본함수 q, qq qw (0) | 2014.06.20 |
PERL MAP 사용법 (0) | 2014.06.20 |
PERL 파일 열기 읽기 닫기 삭제 (0) | 2014.06.20 |
Unmatched ) in regex; marked by <-- HERE in 위와 같은 에러를 만났을때
매칭을 원하는 문자열 앞과 뒤에
\Q문자열\\E
\Q와 \E로 문자열을 감싼 상태에서 매칭을 하면 에러가 발생하지 않는다.
예를 들면
if( $buffer =~ /\Qpattern\E/ )
{
}
PERL Use of uninitialized value in substitution (0) | 2014.06.20 |
---|---|
[PERL] Wide character in print at (0) | 2014.06.20 |
PERL 기본함수 q, qq qw (0) | 2014.06.20 |
PERL MAP 사용법 (0) | 2014.06.20 |
PERL 파일 열기 읽기 닫기 삭제 (0) | 2014.06.20 |