タグ

impalaとhadoopに関するmogwaingのブックマーク (10)

  • 第19回 Impalaの設計と実装[3] | gihyo.jp

    はじめに 今回は、ImpalaにおけるI/Oの高速化技法について説明します。 前回説明したように、Impalaの実行エンジンは可能な限りメモリ上で処理をすることでアドホッククエリのレイテンシを下げ、スループットを向上させる、という設計方針で開発されています。 しかし、データはストレージ(二次記憶装置)に格納されているため、当然、ストレージへのI/Oを回避することはできません。また、Impalaは実行時に十分なメモリを確保するべく、データをメモリ上に保持(キャッシュ)しないため、クエリを実行するたびにデータをストレージから読み出すことを前提として設計されています[1]⁠。 今回は、このようなユースケースを考慮しつつ、高速・高効率なアドホッククエリを実行するためのI/O処理方式とデータレイアウトについて解説します。 Short-Circuit Local ReadsによるI/Oの高効率化 Sh

    第19回 Impalaの設計と実装[3] | gihyo.jp
  • 第18回 Impalaの設計と実装[2] | gihyo.jp

    はじめに 今回は、ImpalaのSQL処理の高速化において重要な役割を占めるクエリ処理について説明します。 Impalaのクエリ処理の特徴 Impalaは、MapReduceやSparkをはじめとする既存の手続き型のデータ処理エンジンを使用せず、アドホックなSQLクエリの処理の高効率化に焦点を置いた設計と実装が特徴です。たとえば、結合方法を見てみると、MapやReduceもしくはMapReduceジョブなどのブロッキングオペレータ(第16回)を組み合わせていく処理エンジンにおいては、Impalaにおけるパイプライン結合処理などを実現することは必ずしも容易ではありません(第8回「Impala/Prestoにおける結合処理」⁠)⁠。 また、MapReduceやSparkでは中間データをディスクに書き込むことにより高い耐障害性を実現しますが、Impalaでは耐障害性を多少犠牲にしてメモリ上で処理

    第18回 Impalaの設計と実装[2] | gihyo.jp
  • 第17回 Impalaの設計と実装[1] | gihyo.jp

    はじめに 今回から3回に渡って、Hadoop上で動作するデータ処理ソフトウェアの1つであるApache Impala(incubating)(以下、Impala)について、以下の流れで説明していきます。 Impala概要(今回) クエリ実行時の並列化の仕組み(第18回) I/O処理における高速化の仕組み(第19回) Impalaの特徴のすべてをお伝えできるわけではありませんが、Impalaの速度に対する取り組みについて参考になれば幸いです。 今回は、Impalaが開発されるに至った背景や特徴、および動作の概要までを紹介していきます。 Impala開発の背景 これまでの連載内でも触れられてきましたが、ImpalaはHadoop上でSQL(正確にはHive Query Language/HiveQL)を高速に処理するために開発された並列データ処理系です。Impala以前から、SQLを実行するH

    第17回 Impalaの設計と実装[1] | gihyo.jp
  • 第10回 データ処理の最適化 | gihyo.jp

    はじめに 前回は、これまで説明してきたアルゴリズムの性能を定量的に見積り、比較しました。今回は、これらの性能見積りを用いて行うデータ処理(問い合わせ)の最適化方法について説明します。 データ処理(問い合わせ)の最適化 第4回で述べたように、HadoopのSQL処理系であるHiveをはじめとし、ImpalaやPrestoなどの宣言型言語を用いるデータ処理系においては、利用者は何を(What)処理してほしいかを処理系に指示するのみであり、どのように(How)処理をしてほしいかは指定しません。すなわち、当該処理系においては、どのように処理をするかは処理系自体が決める必要があり、与えられた問い合わせ(クエリ)を最も良いと思われる方法で処理します。このように、問い合わせにおいて最良と思われるデータ処理の方法を見つけることを「⁠(⁠問い合わせ)最適化」と呼びます。 最適化においては、問い合わせを実行す

    第10回 データ処理の最適化 | gihyo.jp
  • 第8回 データ処理における並列アルゴリズム[3] | gihyo.jp

    はじめに 前回は、結合処理の並列化における基戦略について説明し、ソートマージ結合における具体的な並列アルゴリズムを説明しました。今回は、ImpalaやPrestoに加えて、Apache SparkやHadoop MapReduceのMap Joinにおいても用いられているハッシュ結合における具体的な並列アルゴリズムを説明します。 ハッシュ結合における並列アルゴリズム ハッシュ結合は、2つのデータにおいて同一の属性値をもつレコードを見つける方法として、レコードのハッシュ値を用いるものです[1]⁠。すなわち、当該方法においては、一方のデータのすべてのレコードの結合キーに対してハッシュ関数を用いてハッシュ値を計算し、当該ハッシュ値からなるハッシュ表を事前に構築しておき、他方のデータのレコードの結合キーに対して同一のハッシュ関数から得られたハッシュ値を用いてハッシュ表を参照することにより、同一の

    第8回 データ処理における並列アルゴリズム[3] | gihyo.jp
  • 第5回 データ処理の並列化 | gihyo.jp

    はじめに 前回は、データ処理の方法を整理し、また、宣言型言語をインターフェースとして用いる並列データベースなどのデータ処理系を詳細に見ていく準備として、当該データ処理系における実行プランの作成の流れをかんたんに説明しました。今回は、当該データ処理系において、どのように実行プランを並列化するかについて、その概要を説明します。 データ処理における並列性について 並列データベースをはじめとするデータ処理系は、SQL文などの問い合わせ(クエリ)の内容に応じてデータ処理を行うものであり、問い合わせの観点においては、当該処理系において用いられる並列性(Parallelism)は、次の2つに分類することができます。 問い合わせ間の並列性(Inter-Query Parallelism) 問い合わせ内の並列性(Intra-Query Parallelism) 問い合わせ間の並列性は、複数の異なる問い合わせ

    第5回 データ処理の並列化 | gihyo.jp
  • Cloudera Blog

    The ongoing progress in Artificial Intelligence is constantly expanding the realms of possibility, revolutionizing industries and societies on a global scale. The release of LLMs surged by 136% in 2023 compared to 2022, and this upward trend is projected to continue in 2024. Today, 44% of organizations are experimenting with generative AI, with 10% having […] Read blog post

    Cloudera Blog
  • Impala Q&A - still deeper

    2012/11/7に開催されたCloudera World Tokyoに参加してきました。 編については他の人がまとめてくれるはずですので省略。 懇親会では米国Cloudera社のCTO、Dr. Amr Awadallah氏に直接Impalaの疑問に答えていただきました。非常に貴重な話を聞けたのでまとめておきます。(公開許可済み) その場でメモを取っていたわけではなく思い出しながらのまとめなので、一緒に聞いていた方、clouderaの方は補足をお願いします。 Q&A Q. なぜJavaでなくてC++で実装したか? A. ImpalaのメインデザイナーがGoogleC++を使って分散処理(Dremelのこと?)を実装した人物であるのと、JVMの起動コストがレイテンシーの増加につながるため 補足: この人でしょうか Q. 1ノードに偏ったデータを読む必要があるクエリがくると低レイテンシーを

  • Man Busts Out of Google, Rebuilds Top-Secret Query Machine

    You can think of Google as the research lab for the rest of the internet. Every so often, the company releases a research paper describing one of the sweeping software platforms that help drive its online empire, and a few years later, this paper will spawn an open source software project that seeks to share Google's creation with the rest of the world. On Wednesday, it happened again. You can thi

    Man Busts Out of Google, Rebuilds Top-Secret Query Machine
  • Cloudera Impala: Real-Time Queries in Apache Hadoop, For Real - Cloudera Blog

    Cloudera Impala: Real-Time Queries in Apache Hadoop, For Real After a long period of intense engineering effort and user feedback, we are very pleased, and proud, to announce the Cloudera Impala project. This technology is a revolutionary one for Hadoop users, and we do not take that claim lightly. When Google published its Dremel paper in 2010, we were as inspired as the rest of the community by

    Cloudera Impala: Real-Time Queries in Apache Hadoop, For Real - Cloudera Blog
    mogwaing
    mogwaing 2012/10/26
    software stack
  • 1