[HADOOP] 돼지를 사용하여 hdfs에서 트위터 데이터를로드하는 방법?
HADOOP돼지를 사용하여 hdfs에서 트위터 데이터를로드하는 방법?
방금 flume을 사용하여 트위터 데이터를 스트리밍하고 HDFS에 클러스터링하여 분석을 위해 돼지에로드하려고합니다. 기본 JsonLoader 함수는 데이터를로드 할 수 없으므로 Google에서 이러한 종류의 데이터를로드 할 수있는 라이브러리를 검색합니다. 나는이 링크를 발견하고 거기에 지시를 따릅니다.
결과는 다음과 같습니다
REGISTER '/home/hduser/Downloads/json-simple-1.1.1.jar';
2016-02-22 20:54:46,539 [main] INFO org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS
다른 견인 명령에도 동일합니다.
이제이 명령을 사용하여 데이터를로드하려고 할 때
load_tweets = LOAD '/TwitterData/' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad') AS myMap;
이 오류를 보여줍니다
2016-02-22 20:58:01,639 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1070: Could not resolve com.twitter.elephantbird.pig.load.JsonLoader using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
Details at logfile: /home/hduser/pig-0.15.0/pig_1456153061619.log
어떻게 해결하고 올바르게로드합니까?
참고 : 내 데이터는 최근 릴리스 영화 데드 풀 트위터 데이터에 관한 것입니다.
해결법
-
==============================
1.아래 항아리를 돼지로 등록해야합니다.이 항아리에는 액세스하려는 적절한 클래스가 포함되어 있습니다.
아래 항아리를 돼지로 등록해야합니다.이 항아리에는 액세스하려는 적절한 클래스가 포함되어 있습니다.
코끼리 새 돼지 -4.1.jar
편집 : 적절한 단계.
REGISTER '/home/hdfs/json-simple-1.1.jar'; REGISTER '/home/hdfs/elephant-bird-hadoop-compat-4.1.jar'; REGISTER '/home/hdfs/elephant-bird-pig-4.1.jar'; load_tweets = LOAD '/user/hdfs/twittes.txt' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad') AS myMap; dump load_tweets;
로컬 클러스터에서 위의 단계를 사용했으며 정상적으로 작동하므로로드를 실행하기 전에 이러한 항아리를 추가해야합니다.
-
==============================
2.블로그에 표시된대로 3 개의 Jar 파일을 등록해야합니다. 각 병에는 고유의 중요성이 있습니다.
블로그에 표시된대로 3 개의 Jar 파일을 등록해야합니다. 각 병에는 고유의 중요성이 있습니다.
elephant-bird-hadoop-compat-4.1.jar- 1.x와 2.x 사이의 Hadoop 비 호환성을 처리하기위한 유틸리티
elephant-bird-pig-4.1.jar-- 돼지 용 JSON 로더, 각 Json 레코드를 Pig에로드합니다.
json-simple-1.1.1.jar--Java에서 사용 가능한 Json 파서 중 하나
Jar를 등록한 후 다음 pig 스크립트를 사용하여 트윗을로드 할 수 있습니다.
load_tweets = LOAD '/user/flume/tweets/' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad') AS myMap;
트윗을로드 한 후 덤프하여 볼 수 있습니다.
dump load_tweets
from https://stackoverflow.com/questions/35557555/how-to-load-twitter-data-from-hdfs-using-pig by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Pig에서 여러 맵의 튜플을 다른 행으로 분할하는 방법 (0) | 2019.09.09 |
---|---|
[HADOOP] Windows 10에서 스파크 마스터를 시작하지 못했습니다. (0) | 2019.09.09 |
[HADOOP] JAVA를 사용하여 HDFS에서 로컬 파일 시스템으로 파일 복사 (0) | 2019.09.09 |
[HADOOP] 하둡과 함께 wget을 사용 하시겠습니까? (0) | 2019.09.09 |
[HADOOP] 하이브 고장 파이프 오류 (0) | 2019.09.09 |