タグ

hiveに関するInoHiroのブックマーク (31)

  • Hiveを導入・高速化したい時に最低限必要な知識 - Qiita

    お疲れ様です。ビッグデータという言葉が流行りだしてから幾星霜、皆さんの中でもそろそろ社内にビッグデータ処理基盤を作りたいという方がいるのではないでしょうか? というわけでSQL on Hadoopでよく知られるHiveを使う上で最低限必要だなと思う知識をまとめてみました。 PrestoやAWS Athena、Amazon Redshift Spectrumを使う場合でも裏側にはHiveのテーブルが必要な場合が多いと思いますので、知っておいて損は無いかと思います。 テーブル・データ設計 パーティションを設定する Hiveではテーブルにパーティションを設定する事でテーブルの検索・更新範囲を限定する事ができます。逆に言えばパーティションを設定しない場合、常にテーブル全体を検索・更新してしまうという事です。なのでパーティション設定は基的に必須です。 パーティションはデータをインポートする頻度に応

    Hiveを導入・高速化したい時に最低限必要な知識 - Qiita
  • hive-performance.md · GitHub

  • S3 上の大量データを EMR するときは S3DistCp を使うと捗る – I'm Sei.

    CloudFront のアクセスログを S3 に出力するように設定していると、日に日に大量のログファイルが溜まっていきます。 中には 1 MB 程度のファイルもあれば、数百 bytes 程度の小さなものもあります。 何にせよ、とにかく大量にあります。 小さいファイルはまとめるCloudFront のログのように小さいファイルが大量にあるようなケースは Hadoop が苦手とするパターンで、そのまま扱うと大抵めちゃんこ時間がかかります。 そういう場合は、S3DistCp という便利ツールを使って S3 上のログファイルをもうすこし大きいサイズに連結して、HDFS にコピーするとパフォーマンスがあがることがあります。 ちなみに、EMR のベストプラクティスによると、Gzip で圧縮されている場合は 1 ~ 2GB、LZO で圧縮されている場合は 2 ~ 4GB が最適なファイルサイズらしいです

    S3 上の大量データを EMR するときは S3DistCp を使うと捗る – I'm Sei.
  • HiveでテキストのFuzzy Search

    先週はPostgreSQL上でテキストのFuzzy Searchを試した。そのときは fuzzystrmatch や pg_trgm といったモジュールが活躍していた。 では、同じことをHiveで実現するとどうなるだろう。 データ 適当にテーブル sample をつくっておく: hive> CREATE TABLE sample AS > SELECT 1 AS id, 'I live in Tokyo.' AS document > UNION ALL > SELECT 2 AS id, 'Are you happy?' AS document > ; hive> SELECT * FROM sample; OK sample.id sample.document 1 I live in Tokyo. 2 Are you happy? Time taken: 0.066 seconds,

    HiveでテキストのFuzzy Search
    InoHiro
    InoHiro 2017/08/24
  • データサイエンティストのためのHiveQL分析クエリテンプレート その6 - トレジャーデータ(Treasure Data)ブログ

    *トレジャーデータはデータ収集、保存、分析のためのエンドツーエンドでサポートされたクラウドサービスです。 データサイエンティストのためのHiveQL分析クエリテンプレートシリーズ: その1, その2, その3, その4, その5, その6 E. リテンション分析 最後はリテンションに関するクエリテンプレートです。 パターン E-1:直帰率 ※ ここでは同日内に1回しかログインしなかったユーザーを「直帰」と見なします。 SELECT t2.d AS d, COUNT(1)/SUM(t2.cnt)*100 AS bounce_rate FROM ( SELECT TD_TIME_FORMAT(time, 'yyyy-MM-dd', 'JST') AS d, uid, COUNT(1) AS cnt FROM login GROUP BY TD_TIME_FORMAT(time, 'yyyy-M

    データサイエンティストのためのHiveQL分析クエリテンプレート その6 - トレジャーデータ(Treasure Data)ブログ
  • TreasureDataで機械学習してみる | ADN LAB's Blog

    この記事はTreasure Data Advent Calendar 11日目の記事です。 こんにちは、データマイニングチームのy_kawasakiです。(毎回所属が変わってます!) 最近、大量のデータを前に途方にくれていました。TreasureData(以下TD)という、武器を手に入れて、がっつりと戦っているところです。 TDにはHivemallという、Hive上で動くscalable machine learning libraryが実装されています。Hivemallの使い方はgithubのwikiによくまとめられているのですが、それは、あくまで、Hive上で動かすことを前提に書かれています。今回は、TD上で動いているHivemallを使いたいため、一部、変更したりする必要があります。 とりあえず、手を動かしたいということで、どこのご家庭にも常備してある、あやめのデータを使いたいと思い

  • Cloudera Blog

    Enterprises see embracing AI as a strategic imperative that will enable them to stay relevant in increasingly competitive markets. However, it remains difficult to quickly build these capabilities given the challenges with finding readily available talent and resources to get started rapidly on the AI journey. Cloudera recently signed a strategic collaboration agreement with Amazon […] Read blog p

    Cloudera Blog
    InoHiro
    InoHiro 2015/05/07
  • トレジャーデータUDFで効率の良いクエリを実現する - Date Function 編 - - トレジャーデータ(Treasure Data)ブログ

    トレジャーデータはクラウドでデータマネージメントサービスを提供しています。 トレジャーデータサービスは,スタンダードプランとしてバッチクエリであるHive, Pigをサポートしています。また,プレミアムプランまたはオプション追加によってアドホッククエリであるTQA(Backend: Presto)をサポートしています。 Treasure Data Hive UDF 無尽蔵の列指向データベースであるトレジャーデータのストレージですが,特に時系列データに対しては強力なパフォーマンスを発揮します。今回はその理由と,パフォーマンスを出すためのクエリの記述方法をご紹介します。 TDS バックエンドアーキテクチャ概略 トレジャーデータサービスでは,Realtime Storage と Archive Storage の二種類のストレージを利用しています。Treasure Agent (Fluentd)

    トレジャーデータUDFで効率の良いクエリを実現する - Date Function 編 - - トレジャーデータ(Treasure Data)ブログ
  • Hive QL Except clause

    InoHiro
    InoHiro 2014/10/24
  • 1 つの HiveQL でグループごとの集約結果上位のものを抽出する - あらびき日記

    この記事は abicky.net の 1 つの HiveQL でグループごとの集約結果上位のものを抽出する に移行しました

    1 つの HiveQL でグループごとの集約結果上位のものを抽出する - あらびき日記
  • Hiveクエリチューニングメモ - 科学と非科学の迷宮

    Hadoop2版を買ったその一週間後にDeals of the day で半額セールやられて死にたくなったので腹いせに書く はじめに ここに書いてあるのは全部参考リンク・文献からひっぱってきただけで、ほとんど全部検証してない。間違いがあればなるべく早めに更新するよう努力はするが、鵜呑みにして何が起きても自己責任で。 Hive のクエリチューニングに関するメモ書きである。以下のことは「書いていない」 Hadoop自体のチューニング Hive のクエリチューニング以外の話 例えば、圧縮ファイルを Hive 上で扱うにはどうするかとか JOIN 一番左のテーブルに最も大きなテーブルを持ってくる 一番左のテーブルがMRでいう入力データとして流れる。インナーテーブルのデータはメモリに保持される。 同一 JOIN キー 通常は 1 JOIN = 1 MR ジョブだが、同一の JOIN キーを使ってい

    Hiveクエリチューニングメモ - 科学と非科学の迷宮
    InoHiro
    InoHiro 2014/09/11
  • SIOS ビッグデータ技術ブログ: Treasure DataにおけるHiveQLのTips

    こんにちは、今回のブログ担当 高橋です。 題とは逸れますが、ビッグデータに関連するトレンドとして、M2M(Machine to Machine)やIoT(Internet of Things)と呼ばれる技術があります。 SIOSビッグデータチームとしても、これらの技術によって大量に収集されるデータには注目しています。 これらの技術を個人で実現可能なプログラマブルデバイスとして、ArduinoやRaspberry Piが普及してきています。 特に、Arduinoは、接触センサや赤外センサなど各種センサを実装でき、なおかつBluetoothやZigBeeなどの通信モジュールの実装も可能です。 例えば、複数台のArduinoを組み合わせて自宅内センサネットワークを構築し、日常生活の見える化ができたら楽しそうですね。 こうしたビッグデータを生み出す様々なアイデアを実現するために、私たちも日々、ビ

    SIOS ビッグデータ技術ブログ: Treasure DataにおけるHiveQLのTips
    InoHiro
    InoHiro 2014/09/11
  • LanguageManual UDF - Apache Hive - Apache Software Foundation

    When hive.cache.expr.evaluation is set to true (which is the default) a UDF can give incorrect results if it is nested in another UDF or a Hive function. This bug affects releases 0.12.0, 0.13.0, and 0.13.1. Release 0.14.0 fixed the bug (HIVE-7314). The problem relates to the UDF's implementation of the getDisplayString method, as discussed in the Hive user mailing list.

    InoHiro
    InoHiro 2014/07/18
  • HiveQL SELECTメモ(Hishidama's Apache Hive SELECT Memo)

    「SELECT *」と「SELECT 項目」の違い Hiveでは「SELECT *」と「SELECT 項目指定」では挙動が異なる。 create文でテーブルを作った段階では、データ(ファイル)が存在していても、その中の整合性は問われない。 「select * from テーブル」では、Hive自身がファイルの中身を項目定義に合わせて解釈し、その値を表示する。[/2011-08-11] 一方、「select 項目 from テーブル」では、MapReduce(Map処理)を実行して解釈を行い、結果を表示する。 (INSERT~SELECTでは「SELECT *」でもMapReduceが実行される。[2011-08-11]) FROMの位置 Hiveでは、FROM句を先頭に持ってくることが出来る。 select ~ from テーブル where 条件; ↓↑等価 from テーブル sele

    InoHiro
    InoHiro 2014/07/11
  • Using group by on multiple columns

    Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives

    Using group by on multiple columns
  • HiveのJOINについて – OpenGroove

    HiveのJOINについて、SQLとの違いをポイントに雑記メモ。 Hiveでは INNER JOINJOINでいい どこで読んだか今となっては定かではないが(汗)、そういうことらしい。 HiveでサポートされているJOIN Only equality joins, outer joins, and left semi joins are supported in Hive. Hive does not support join conditions that are not equality conditions as it is very difficult to express such conditions as a map/reduce job. Also, more than two tables can be joined in Hive. ということなので、Hiveでサポー

  • ほぼやけくそHive Hacks – OpenGroove

    Hive Hacksあれこれ。内容はほぼO’REILLY Hadoop Hacksからの引用そのまんま。ただの個人メモなのだが、ずうずうしく公開させてもらいます。いろんなところに記録しておいてもすぐに「あれ、あのメモどこやったっけ」となるのでここに書くのが一番なんだよね。書いたからって理解できるわけでもないんだが… (初めに書いておくと、この投稿長いです) 基原則的なこと。 ●UPDATEは回避する 処理速度が遅延するため、UPDATEを多数含むようなSQLをHiveSQLに変換することは避けるべき ●MapReduceタスクのオーバーヘッド Hiveは「高スループットを目指す処理には向いているが、低レンテンシを目指す処理には向いていない」というMapReduce処理の特徴を引き継いでいる。MapReduceタスクのオーバーヘッドが付きまとうことを念頭におく。 ●並列分散ができない処理

    InoHiro
    InoHiro 2014/07/08
  • 実データで覚える Treasure Client コマンドラインリファンス 〜1.Data Import〜 - doryokujin's blog

    シリーズではTreasure Client ツールのコマンドラインリファレンスを以下の5つのレイヤーに分解し,各々について解説していくものとします。 No.レイヤーコマンド 1. Data Import one-time import bulk import 2. Data Management db table 3. Data Processing schema query job 4. Data Scheduling sched result 5. Other help status server sample 日は 1. Data Import を紹介します。シリーズでは実際にデータを使用して,その分析の流れに沿いながらコマンドラインを紹介していきます。 Treasure Platform の登録および Client Tool のインストール それでは早速サインアップを始めまし

    InoHiro
    InoHiro 2014/07/08
    やろう
  • SQL感覚でHiveQLを書くと痛い目にあう例 - still deeper

    Hadoop Advent Calendar 2013 4日目の記事です tl;dr explainとjob historyを読め 1 reducerは悪 data skewは悪 前書き みんな大好きSQLでHadoop上での処理を実行できるHiveにはみなさん普段からお世話になっていることでしょう。ちょっと調べ物でググる度に目に入る愛らいしいマスコットが、荒んだ心に清涼な風をはこんでくれます。 ですがHiveのクエリ言語はSQLではなくHiveQLですし、実行エンジンもRDBのそれとは全く異なるMapReduceです。SQLのつもりでHiveQLを書いていると地雷を踏んでしまうことがまれによくあります。エントリでは陥りがちなHiveQLの落とし穴を2つ紹介します。 例1 SELECT count(DISTINCT user_id) FROM access_log SQLに慣れた方であれ

  • Presto: Free, Open-Source SQL Query Engine for any Data

    Calling our Presto community speakers – we want to hear from you! Fill out out community call for papers to speak at upcoming meetups and conferences. What is Presto?Presto is an open source SQL query engine that’s fast, reliable, and efficient at scale. Use Presto to run interactive/ad hoc queries at sub-second performance for your high volume apps.

    Presto: Free, Open-Source SQL Query Engine for any Data
    InoHiro
    InoHiro 2013/11/08
    処理画面