자크루
Jaql| 패러다임 | 기능하다 |
|---|---|
| 설계자 | Vuk Ercegovac (구글) |
| 처음 등장한 | 2008년 10월 , 전( 10월9일) |
| 안정된 릴리스 | 2010년 7월 12일 / 0.5.1, 전( |
| 구현 언어 | 자바 |
| OS | 크로스 플랫폼 |
| 면허증. | Apache 라이센스 2.0 |
| 웹 사이트 | code |
| 주요 구현 | |
| IBM BigInsights | |
Jaql('jackal'로 발음)은 빅데이터에 대한 JSON 쿼리 처리에 가장 일반적으로 사용되는 기능 데이터 처리 및 쿼리 언어입니다.
구글의 오픈[1] 소스 프로젝트로 시작했지만, 가장 최근의 릴리스는 2010년 7월 12일이었다.IBM은[2] Hadoop 소프트웨어 패키지 BigInsights의 기본 데이터 처리 언어로 이 언어를 넘겨받았습니다.
JSON용으로 개발되었지만 CSV, TSV, XML 등 다양한 데이터 소스를 지원합니다.
PIG Latin 및 Hive QL과 같은 다른 BigData 쿼리 언어와의 비교는[3] 이러한 기술의 성능과 사용 편의성을 보여줍니다.
Jaql은[4] 느린 평가를 지원하므로 표현식은 필요한 경우에만 구체화됩니다.
구문
Jaql의 기본 개념은
원천 -> 교환입니다.(파라미터) -> 가라앉다 ; 여기서 싱크대는 다운스트림 오퍼레이터의 소스가 될 수 있습니다.따라서 일반적으로 Jaql 프로그램에는 데이터 처리 그래프를 나타내는 다음과 같은 구조가 필요합니다.
원천 -> 오퍼레이터 1(파라미터) -> 오퍼레이터 2(파라미터) -> 오퍼레이터 2(파라미터) -> 오퍼레이터 3(파라미터) -> 오퍼레이터 4(파라미터) -> 가라앉다 ; 대부분의 경우 읽기 쉬운 이유로 Jaql 프로그램은 Twitter Scalding에서 흔히 사용되는 관용어처럼 화살표 뒤에 줄 바꿈이 표시됩니다.
원천 -> 오퍼레이터 1(파라미터) -> 오퍼레이터 2(파라미터) -> 오퍼레이터 2(파라미터) -> 오퍼레이터 3(파라미터) -> 오퍼레이터 4(파라미터) -> 가라앉다 ; 코어[5] 오퍼레이터
확대한다.
중첩된 어레이를 평평하게 만들려면 EXPAND 식을 사용합니다.이 식은 네스트된 배열[ [ T ]의 배열을 입력으로 하여 각 네스트된 배열의 요소를 최상위 출력 배열로 승격함으로써 출력 배열[ T ]을 생성합니다.
필터
FILTER 연산자를 사용하여 지정된 입력 배열에서 요소를 필터링합니다.이 연산자는 T형 요소의 배열을 입력으로 받아 같은 유형의 배열을 출력하며 술어가 참으로 평가된 요소를 유지합니다.SQL WHERE 절과 동등한 Jaql입니다.예:
데이터. = [ {이름.: 신원미상, 소득.: 20000, 부장님: 거짓의}, {이름.: 빈스 웨인, 소득.: 32500, 부장님: 거짓의}, {이름.: 제인 딘, 소득.: 72000, 부장님: 진실의}, {이름.: 앨릭스 스미스, 소득.: 25000, 부장님: 거짓의} ]; 데이터. -> 필터 $.부장님; [ { "수입': 72000, '매니저": 진실의, "이름: 제인 딘 } ] 데이터. -> 필터 $.소득. < > 30000; [ { "수입': 20000, '매니저": 거짓의, "이름: 신원미상 }, { "수입': 25000, '매니저": 거짓의, "이름: 앨릭스 스미스 } ] 그룹.
GROUP 식을 사용하여 그룹 키에서 하나 이상의 입력 배열을 그룹화하고 그룹별로 집계 함수를 적용합니다.
합류하다
JOIN 연산자를 사용하여 두 개 이상의 입력 배열 간의 조인을 표현합니다.이 연산자는 내추럴, 좌측-외측, 우측-외측 및 외부 조인을 포함한 여러 유형의 조인을 지원합니다.
종류
하나 이상의 필드를 기준으로 입력을 정렬하려면 SORT 연산자를 사용합니다.
정상
TOP 식은 입력의 첫 번째 k개 요소를 선택합니다.비교기가 제공되는 경우 출력은 의미론적으로 입력을 정렬한 다음 첫 번째 항목을 선택하는 것과 동일합니다.k요소들.
변혁
TRANSFORM 연산자를 사용하여 투영을 실현하거나 출력의 모든 항목에 함수를 적용할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
외부 링크
- JAQL 언어의 정의
- JAQL의 개요
- HIVE 및 PIG와의 비교
- Jaql에서의 사용자 정의 애그리게이트의 적응형 처리