TreasureData에서 Hive 쿼리를 작성할 때 - time으로 범위를 지정할 수 있습니다.
2840 단어 TreasureDatahive
소개
TreasureData를 이용하면 부담없이 Hadoop등의 Bigdata 환경을 이용할 수 있습니다만, RDB감각으로 이용할 수 있는 것이 좋은 점이라고 하면 좋은 점입니다만, RDB에서도 좋으면 MySQL라든지로 좋지요. 라는 이야기이므로 역시 서투른 일도 있습니다.
우선 RDB 밖에 접한 적은 없지만 TreasureData로 쿼리 쓰려고 하는 방향으로 쓰고 있습니다.
주) 나는 TreasureData 안의 사람이 아닙니다. 미안해.
나쁜 예
우선 RDB 사용하고 있다면 아래와 같은 SQL을 쓰고 싶네요. 하지만 BigData는 테이블에 몇 억 개의 데이터가 있습니까? 잘 생각해!
또, TreasureData의 내부 구조는 time별로 스토리지를 단락지어, 한층 더 컬럼너형(컬럼마다 세로할인)으로 보존하고 있습니다. (자세한 내용은 Plazma - Treasure Data’s distributed analytical database -)
그런 이유로 우선 맥주가 아니라 우선 "* (별표)"는 절대 안돼!
sample_datasets
select * from www_access
↑ 이것이 로그입니다만, 잘 보면 아래와 같은 에러가 나옵니다.
Output
**
** WARNING: time index filtering is not set!
** This query could be very slow as a result.
** If you used 'unix_timestmap' please modify your query to use TD_SCHEDULED_TIME instead
** or rewrite the condition using TD_TIME_RANGE
** Please see http://docs.treasure-data.com/articles/performance-tuning#leveraging-time-based-partitioning
**
번역합니다.
Output
警告:timeの指定されてないぞ!
このクエリって超遅くなる可能性があるよ。
もしも、unix_timestampってのを利用してtimeの条件を指定している気になっているなら、TD_SCHEDULED_TIME ってのがあるから書き直して。timeの範囲を指定したい場合はTD_TIME_RANGEってのがあるから使って。
てか、ドキュメントをもっかい見てね。
이 쿼리는 매우 느려질 수 있습니다! !
문서 좀 좀 봐!
좋은 예
그런 이유로 이번에는 첫 번째이므로 2 점만
sample_datasets
select time,user,host from www_access
where TD_TIME_RANGE(time,"2014-10-01","2014-10-31","JST")
아, 에러가 나오지 않게 되었다.
Reference
이 문제에 관하여(TreasureData에서 Hive 쿼리를 작성할 때 - time으로 범위를 지정할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KamekoKameKame/items/7b1ba4fa43ec0f4ba806텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)