タグ

ブックマーク / gihyo.jp (44)

  • 2017年のCI/CDの動向 | gihyo.jp

    あけましておめでとうございます。ソフトウェア開発をめぐる環境は相変わらず日進月歩です。この変化に伴って、ソフトウェア開発そのもののあり方も変化を続けています。稿では、少し大きな視点から継続的インテグレーション(CI⁠)⁠・継続的デリバリ(CD)の最近の動向を紹介します。 CI/CDの大きなうねり 筆者がJenkinsに携わって12年になります。かつて、CI/CDの取り組みは、現在の機械学習やスケールアウト技術のような将来の可能性が注目される若い技術でした。ここ数年、この若い技術は、広く産業界で大規模に組織がかりで展開される成熟した技術に変貌してきました。 この背景にあるのは、ソフトウェア開発・運用全般における自動化のさらなる浸透です。このような自動化の進展は2つの側面から考えることができます。一つは、ソフトウェア開発に必要な様々な作業それぞれの「部品の自動化」という側面です。もう一つは、

    2017年のCI/CDの動向 | gihyo.jp
    shiumachi
    shiumachi 2017/01/02
  • 2016ー2017のApache Sparkに起こったこと/起こること | gihyo.jp

    Sparkの2016年は、1月4日にバージョン1.6.0のリリースからスタートしましたが、なんといっても今年の目玉はバージョン2.0.0のリリースでした。2016年7月26日にリリースされ、この開発には2,000以上のパッチが投稿され、世界中から280人もの開発貢献者の参画があったと言われています。 バージョン2.0ではアーキテクチャが抜的に見直され、さらなる性能向上、さらなる使いやすさが実現しました。両バージョンについては現在もメンテナンスが続けられており、稿執筆時点では1.6.3、2.0.2が最新リリースです。そして、12月28日にバージョン2.1がリリースされました。稿では、2016年後半の中心だったバージョン2.0の特徴について、バージョン1.6以前も振り返りつつおさらいし、2017年にどのような取り組みがなされるかについてお伝えします。 Sparkの特徴のおさらい 2016

    2016ー2017のApache Sparkに起こったこと/起こること | gihyo.jp
    shiumachi
    shiumachi 2017/01/02
  • 第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
    shiumachi
    shiumachi 2016/03/28
    “MapReduceで複数表の結合を行う場合,1つの結合処理が完了しから次の結合処理を行いますが,Impalaでは上記のようにデータを連続的に結合していく(すなわち,複数の結合を同時に実行する)戦略を取ります”
  • 第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
    shiumachi
    shiumachi 2016/03/02
  • 「Hadoop生みの親」の新たな挑戦 ─ダグ・カッティング氏インタビュー | gihyo.jp

    「Hadoop生みの親」として知られ、現在はHadoopを中心としたビッグデータ処理に関するエコシステムを提供するClouderaのチーフ・アーキテクトを務めるダグ・カッティング(Doug Cutting)氏。Hadoopをはじめ全文検索システムLucene等、著名なオープンソースソフトウェア(OSS)の開発を手がけ、それらオープンソース開発に対する姿勢も多くの開発者に影響を与えています。 そのカッティング氏が、11月10日に開催された「Cloudera World Tokyo」参加のため来日しました。同イベントの基調講演の壇上に立ったカッティング氏は「成功への鍵のひとつは環境の変化にどう対応するか? HadoopもMapReduceから新しい環境に変化しています」と来場者に語りかけました。そう語ったカッティング氏ご自身にも変化があったようです。いったいどのような「変化」があったのか? そ

    「Hadoop生みの親」の新たな挑戦 ─ダグ・カッティング氏インタビュー | gihyo.jp
    shiumachi
    shiumachi 2015/11/17
    "我々はHadoopというテクノロジーが無くても構わないと思っています。テクノロジーの「ハート」,つまりスタイルを「オープンであること」に置いているのです。それが長期的には成功をもたらすと思います"
  • 第9回 データ処理における性能の見積り | gihyo.jp

    はじめに 前回は、ハッシュ結合における具体的な並列化方法を説明しました。今回は、これまで説明してきたアルゴリズムの性能を定量的に見積ってみます。 データ処理性能の見積り これまで、第6回では、選択処理のアルゴリズムとしてスキャン(Scan)と索引スキャン(Index Scan)について、第7回と第8回では、結合処理のアルゴリズムとしてソートマージ結合とハッシュ結合について、それらの並列化方法を説明してきました[1]⁠。ここでは、それらのデータ処理の性能を定量的に見積り、すなわち、当該アルゴリズムの複雑さ(計算量)や処理量を数値化し、それらを比較してみようと思います。 まずは、前提条件を整理しておきます。 RとSの2つのデータが存在 R、Sは複数の計算機に均等に分割されており、各計算機においてはN個のレコード(タプル)から構成 R、Sのそれぞれのレコードのサイズ(RecordSize)は同一

    第9回 データ処理における性能の見積り | gihyo.jp
    shiumachi
    shiumachi 2015/08/19
  • 第8回 データ処理における並列アルゴリズム[3] | gihyo.jp

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

    第8回 データ処理における並列アルゴリズム[3] | gihyo.jp
    shiumachi
    shiumachi 2015/08/10
  • 第1章 効率的に学ぶには―知識の3つの軸と学びの3つのフェーズ | gihyo.jp

    新社会人のみなさん、こんにちは。特集は、新しいものを学ぶ際に出会う問題について解決するための糸口を提供するために書きました。 みなさんは、「⁠IT業界は変化が激しいので学び続けることが必要だ」と聞いたことがあるのではないかと思います。そしてそのことに異論はないはずです。だからこそ今、サイトを読んで何かを学ぼうとしているわけですよね。それはとても良いことです。 一方で、「⁠学びたいけど時間がない」「⁠何を学んだらよいかがわからない」「⁠社会人として成果を出していける自信がない」などの悩みを抱えている方も多いです。筆者はこの悩みを解決したいです。 限られた文字数では、みなさんの個別の問題を解決することはできません。そこで、みなさん自身で問題を解決していくための糸口を提供します。まず章では、第2章以降でより具体的な問題について説明するための材料となる、ちょっと抽象的な話をします。 知識には

    第1章 効率的に学ぶには―知識の3つの軸と学びの3つのフェーズ | gihyo.jp
    shiumachi
    shiumachi 2015/07/06
  • 第1回 なぜ、Hadoopはどのように動くのか、を学ぶのか | gihyo.jp

    はじめに ビッグデータ解析のためのシステム基盤として、Hadoopをはじめとするオープンソースのデータ処理ソフトウェア(データ処理系)が広く利用されつつありますが、当該データ処理系をすでに利用している、もしくは利用の検討をしている読者の方々の中には、たとえば以下のような問題を抱えている方が少なからずいらっしゃるのではないでしょうか。 データ処理系の使い方はなんとなくわかるが、その内部をあまり理解できていない。または、内部の動作原理がよくわからないので、格的に使う気にならない。 同様の目的を達成する複数のデータ処理系において、どれを使って良いかがよくわからない。または、適切に使い分けられていない気がする。たとえば、どのような場合にHadoopを用いて、どのような場合に同類のデータ処理系であるImpalaやSparkを用いれば良いかが“⁠明確に⁠”わからない。 このような問題を解決するには、

    第1回 なぜ、Hadoopはどのように動くのか、を学ぶのか | gihyo.jp
    shiumachi
    shiumachi 2015/06/11
    Hadoopのアーキテクチャ周りについて詳しく知りたいのなら、山田さんの連載読むのがオススメです
  • 第5回 データ処理の並列化 | gihyo.jp

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

    第5回 データ処理の並列化 | gihyo.jp
    shiumachi
    shiumachi 2015/05/27
  • 第4回 データ処理の方法 | gihyo.jp

    はじめに 前回までは、(⁠並列)データ処理の説明をするために必要な言葉の定義や整理をしてきました。いよいよこれからは、データ処理自体について触れていきます。今回は、アプリケーション開発者の視点から見るデータ処理にはどのようなものがあり、その観点において、Hadoopがどのようなものであるか、また、Hadoopがどのようにデータ処理を構築しているかについて、その概要を説明します。 手続き型言語によるデータ処理と宣言型言語によるデータ処理 データ処理は、データ処理を行うアプリケーション開発者(ユーザ)の視点から見ると、 手続き型言語によるデータ処理 宣言型言語によるデータ処理 の2つに大別することができます。 手続き型言語によるデータ処理は、ユーザがプログラミング言語等を用いて行うデータ処理です。たとえば、CやPerlなどを用いて行うデータ処理や、汎用機においてCOBOLなどを用いた集計処理な

    第4回 データ処理の方法 | gihyo.jp
    shiumachi
    shiumachi 2015/05/13
    実行計画部分をちゃんと書いた日本語の記事初めて読んだ気がする。素晴らしい
  • Hadoop成功のカギはオープンソースにあり ─“Hadoop生みの親”ダグ・カッティング氏インタビュー | gihyo.jp

    「これからの時代、プラットフォームとして選択するテクノロジはオープンソース以外にありえない。むしろプラットフォームテクノロジたりうるにはオープンソースであることが要求される。⁠」⁠─7月8日、東京・汐留で開催された「Hadoop Conference Japan 2014」の基調講演において、Hadoop生みの親として知られるClouderaのチーフアーキテクト ダグ・カッティング(Doug Cutting)氏はこう言い切りました。そしてこの言葉はオープンソース信者の妄想でも何でもなく、現在、世界中のIT関係者が共有する一般的な認識となっています。 少し前までは企業や大学の片隅に置かれたスパコンやメインフレームの独壇場だった並列分散処理システムを、安価で汎用的なハードウェア上で稼働させ、さらにサーバ台数を増やせば増やすほど処理能力を高めるというスケールアウトを実現したことで、Hadoopは

    Hadoop成功のカギはオープンソースにあり ─“Hadoop生みの親”ダグ・カッティング氏インタビュー | gihyo.jp
    shiumachi
    shiumachi 2014/07/16
    “オープンソースだからこそ,事前に試すことで本番実装におけるリスクを回避できるのです"
  • 日本よ、これが2014年のHadoopだ!─「Hadoop Conference Japan 2014」基調講演レポート | gihyo.jp

    よ、これが2014年のHadoopだ!─「Hadoop Conference Japan 2014」基調講演レポート 7月8日、東京・ベルサール汐留において「Hadoop Conference Japan 2014(主催: 日Hadoopユーザ会⁠)⁠」が開催されました。2009年の初開催以来、今回で5回目となる同カンファレンスですが、今回の参加登録者数約1,300名のうち、65%(約840名)が初参加とのこと。「⁠Hadoopの裾野の拡がりを確実に感じる」(⁠NTTデータ 濱野賢一朗氏)との言葉通り、HadoopもHadoopユーザもこの5年で大きく変化を遂げていることを示したカンファレンスとなりました。 基調講演会場の模様。今回のテーマは「和風⁠」⁠、来場者には扇子が配られ、登壇者は障子をバックにはっぴ姿で講演を行いました 稿では基調講演の内容をもとに、最初に公開されてから10

    日本よ、これが2014年のHadoopだ!─「Hadoop Conference Japan 2014」基調講演レポート | gihyo.jp
    shiumachi
    shiumachi 2014/07/09
    “オープンソースこそが開発リスクを低減する唯一のプラットフォームであるという強い信念を抱いている”
  • 2012年9月19日 正式リリースは年内ギリギリ? Fedora 18のアルファ版がようやく登場 | gihyo.jp

    Linux Daily Topics 2012年9月19日正式リリースは年内ギリギリ? Fedora 18のアルファ版がようやく登場 Fedora Projectは9月18日(米国時間⁠)⁠、次期リリース「Fedora 18(開発コード: Spherical Cow⁠)⁠」のアルファ版を公開した。 Fedora 18ではいくつもの新機能が予定されているが、アルファ版の段階で実装された主なものは以下となる。 デスクトップはGNOME 3.6、KDE Plasma Workspace 4.9、Xfce 4.10、Sugar 0.98のほか、GNOME 2ベースのMATEも選択可能 インストーラのUIが大幅変更 WiFiホットスポットをアドホックに検索/作成するHotspots機能の向上 NoSQLデータベースのRiakが同梱 Samba 4にSMB3サポートが追加 デフォルトファイアウォールに

    2012年9月19日 正式リリースは年内ギリギリ? Fedora 18のアルファ版がようやく登場 | gihyo.jp
    shiumachi
    shiumachi 2012/10/28
    Fedora18 は Python3.3 が入っているのか。ってことはRHEL7に入るのもほぼ確定か
  • 第1回 “データ解析請負人”─新規開発局 システムクリエイティブグループ 福田一郎 | gihyo.jp

    こうした数多くの魅力的なサービスを支えるエンジニアはどういった人たちなのでしょうか。今回は、サイバーエージェント 新規開発局 システムクリエイティブグループの福田一郎氏にお話を伺いました。 今後必要になるシステムを見極め、自らの提案で実現していく ――現在どのような分野を担当されているのでしょうか。 「私たちのチームでは、『⁠Ameba』サービスのデータ解析基盤の構築などを担当しています。直接ユーザの目に触れる部分ではありませんが、ユーザ課金を行うサービス(図1)が増えていることもあり、各々のサービスがどのような状況にあるのかなどを具体的なデータで把握できるようなしくみを構築しています。こういったデータ解析基盤の構築は、今後のサービス開発においても非常に重要な役割を担っていくと考えています」 ――特定のサービスを対象としているのではなく、「Ameba」のサービス全体で使うデータ解析基盤とい

  • 第1回 Amazon Elastic MapReduceを使う準備をする | gihyo.jp

    Amazon Elastic MapReduceとは 昨今、バッチ処理にHadoopを活用する事例が話題になっています。その中でも特筆すべきなのは、分散処理技術であるMapReduceです。しかし、MapReduceを実際に使うには、数台から数100台のサーバを用意し、Hadoopのセットアップもしなければなりません。そのようなサーバ構築・管理、セットアップの手間を無くし、すぐ使えるのがAmazon Web Service(AWS)のElastic MapReduce(EMR)です。 図1 Amazon Elastic MapReduce AWSMapReduceの説明は多くの書籍、ブログなどを参照してください。また、EMRを使用するには、まずAWSのアカウントを作っておく必要がありますが、その手順も割愛させていただきます。連載ではEMRの使い方、気をつけなければいけない点などを重点的

    第1回 Amazon Elastic MapReduceを使う準備をする | gihyo.jp
  • 第72回 screen-profiles("byobu")を使う | gihyo.jp

    Ubuntu 9.04では様々な新機能が追加されました。その中には"screen-profiles"と名付けられた、GNU Screenの設定集が含まれています。これはターミナルにCPUやメモリの利用率、無線LANの接続品質・アップデータの有無などなど、多くのインジケータを表示することができるものです。今回はこのscreen-profilesの使い方を紹介します。あわせて、screen-profilesの最新版、"byobu"(屏風)も紹介します。 screen-profilesの概要 GNU Screenは第19回でも触れた通り、ターミナルを頻繁に利用するユーザーにとっては欠かせないものです。sshでログインしてScreenを起動して作業を行い(screen⁠)⁠、Screenをdetach(screen -r)して再接続、といった使い方は、ターミナルを中心に作業を行う場合の定石のひとつ

    第72回 screen-profiles("byobu")を使う | gihyo.jp
    shiumachi
    shiumachi 2011/01/06
    "zshやEmacsやvimなどを使い始めたユーザーがかかる「エディタやシェルの設定ファイルを延々と調整し続ける病気」と同じ種類の病気です"ここで吹いた
  • 検索エンジンはいかにして動くのか? 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    検索エンジンはいかにして動くのか? 記事一覧 | gihyo.jp
  • 第3回 ツリーマップによる木構造の可視化(前編) | gihyo.jp

    はじめに 前回は、統計学的観点からの情報可視化へのアプローチとして、「⁠階層的クラスタリング」の手法を紹介し、その実装と動作確認を行いました。 今回からは、階層的クラスタリングの実行結果を視覚的に分かりやすく表現する手段として、「⁠ツリーマップ」と呼ばれるテクニックを取り上げます。 ソースコードのダウンロード 今回作成するプログラムのソースコードは、こちらから一括してダウンロードすることができます。ZIPファイルを展開して生成されるフォルダを、プロジェクトとしてNetBeansに読み込むことも可能です。 ツリーマップの概要 ツリーマップ(treemap)とは、二次元平面上の領域を入れ子状に分割することによって、木構造のデータを可視化する手法です。 ツリーマップを利用した情報可視化の有名な例としては、世界のニュース記事をタイル状に並べて閲覧できるnewsmap(図1)があります。 図1 また

    第3回 ツリーマップによる木構造の可視化(前編) | gihyo.jp
  • Hadoop Hacks Night詳細レポート[後編] | gihyo.jp

    3月8日(月)に開催された「gihyo.jp×Yahoo! JAPAN presents "Open TechTalk" Hadoop Hacks Night⁠」⁠。前編では、基調講演のYahoo! ,Inc. Hadoopチーム アーキテクトOwen O'Malley氏のセッション、そして特別講演のヤフー株式会社 R&D統轄部 吉田一星氏によるセッションをレポートしました。後編では、続いて行われたパネルディスカッションの模様をお届けします。 第3部 パネルディスカッション 最後はOwen氏、吉田氏に加え、田中慎司氏(株式会社はてな⁠)⁠、藤川幸一氏(株式会社シリウステクノロジーズ⁠)⁠、三上俊輔氏(筑波大学)の5名のパネリスト、モデレータ馮富久(株式会社技術評論社)による計6名でのパネルディスカッションです。 勢揃いしたパネラー一同 Hadoopのメリット、用途は? 各自かんたんな自己

    Hadoop Hacks Night詳細レポート[後編] | gihyo.jp
    shiumachi
    shiumachi 2010/08/02
    "HDFS以外のバックアップは以前は存在していたが,いまはそこにしか残っていない"