두 개의 입력 파일 smt.txt와 smo.txt가 있습니다. jar 파일은 텍스트 파일을 읽고 java 파일에 설명 된 규칙에 따라 데이터를 분할합니다. 그리고 pig 파일은 mapreduce를 수행하면서 출력 파일에 넣어 둔 이러한 데이터를 사용합니다.돼지 파일에서 .jar를 사용하는 방법
register 'maprfs:///user/username/fl.jar';
DEFINE FixedLoader fl();
mt = load 'maprfs:///user/username/smt.txt' using FixedLoader('-30','30-33',...........) AS (.........);
mo = load 'maprfs:///user/username/smo.txt*' using FixedLoader('-30','30-33',.....) AS (......);
store mt into 'maprfs:///user/username/mt_out' using JsonStorage();
store mo into 'maprfs:///user/username/mo_out' using JsonStorage();
및 다음과 같은 java 코드의 일부. (방법의 내용은 내가 믿는이 켜지지되지 않습니다) :
: 나는 명령 "돼지 -x 맵리 듀스 sample.pig"와 teminal이 돼지 프로그램을 실행하면, 나는 오류 메시지를 준package com.mapr.util;
import org.apache.hadoop.mapreduce.lib.input.*;
import org.apache.hadoop.mapreduce.*;
import org.apache.hadoop.io.*;
import org.apache.pig.*;
import org.apache.pig.data.*;
import org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.*;
import java.util.*;
import java.io.*;
public class FixedLoader extends LoadFunc
{
............
}
오류 org.apache.pig.tools.grunt.Grunt - 오류 1070 : 가져 오기를 사용하여 com.mapr.util.FixedLoader를 확인할 수 없습니다 : [, org.apache.pig.builtin., org.apache.pig.impl .builtin.]
내 프로젝트에 어떻게 가져올 수 있습니까? 또는 r에 대한 제안/해결책이 있습니까? 이 프로그램을 취소 하시겠습니까?
조언 해 주셔서 감사합니다. 그러나 돼지 스크립트로 모든 작업을하기로 결정 했으므로 더 이상 파일을 병할 필요가 없습니다. 그러나 전체 패키지 이름을 제공하는 것과 동일한 코드를 시도했지만 여전히 제 3 자 종속성이 내 컴퓨터에 없다고 생각합니다. – erbileren