복붙노트

[HADOOP] PHP를 통해 돼지의 스트림

HADOOP

PHP를 통해 돼지의 스트림

나는 돼지 스크립트가 - 현재 로컬 모드에서 실행 - 범주의 목록을 포함하는 큰 파일을 처리 :

/root/level1/level2/level3
/root/level1/level2/level3/level4
...

내가 저장 프로 시저를 호출하여 기존 데이터베이스에 이들 각각을 삽입해야합니다. 나는 돼지에 새로 온 사람과 UDF 인터페이스는 조금 어려운이기 때문에, 나는 PHP 스크립트를 통해 파일의 내용을 스트리밍 할 무언가를 얻기 위해 노력하고있어.

그래도, PHP 스크립트는 내가 그것을 통과하고있어 카테고리 라인의 절반을 보는 것을 찾는거야. 더 정확하게, 나는 기록이 천장을 만들다 (pig_categories / 2)에 대해 반환을 참조하십시오. 15의 제한은 PHP 스크립트를 통해 스트리밍 후 8 개 항목을 생성합니다 - 마지막은 비어 있습니다.

-- Pig script snippet
ordered  = ORDER mappable_categories BY category;
limited  = LIMIT ordered 20;

categories = FOREACH limited GENERATE category;
DUMP categories; -- Displays all 20 categories

streamed = STREAM limited THROUGH `php -nF categorize.php`;
DUMP streamed; -- Displays 10 categories

# categorize.php
$category = fgets( STDIN );
echo $category;

저는 누락 된 것에 대한 어떤 생각. 지금은 잠시 동안 돼지 참조 설명서 부어했고 PHP 스크립트를 통해 스트리밍에 관한 많은 정보가있을 것 같지 않습니다. 나는 또한 아무 소용 IRC에 #hadoop 채널을 시도했습니다. 모든 지침은 많이 주시면 감사하겠습니다.

감사.

최신 정보

EOL 관련 있음을 분명 해지고. 내가는 fgets를 사용하는 PHP 스크립트를 변경하는 경우 (), 나는 10 개 항목 돌아) (stream_get_line,하지만 먼저해야 할 기록은 생략되어 표시됩니다 후행 빈 기록이있다.

(Arts/Animation)
(Arts/Animation/Anime)
(Arts/Animation/Anime/Characters)
(Arts/Animation/Anime/Clubs_and_Organizations)
(Arts/Animation/Anime/Collectibles)
(Arts/Animation/Anime/Collectibles/Cels)
(Arts/Animation/Anime/Collectibles/Models_and_Figures)
(Arts/Animation/Anime/Collectibles/Models_and_Figures/Action_Figures)
(Arts/Animation/Anime/Collectibles/Models_and_Figures/Action_Figures/Gundam)
()

그 결과 세트에서, (예술)의 첫 번째 항목이 있어야합니다. 에서 닫기하지만 닫 일부 격차는 여전히있다.

해결법

  1. ==============================

    1.그래서이 그 인스턴스 공백 문제 중 하나 인 것으로 나타났다. 나는 나의 여는

    그래서이 그 인스턴스 공백 문제 중 하나 인 것으로 나타났다. 나는 나의 여는

  2. from https://stackoverflow.com/questions/3815673/pigs-stream-through-php by cc-by-sa and MIT license