タグ

ブックマーク / blog.amedama.jp (5)

  • Python: concurrent.futures を使った並行・並列処理 - CUBE SUGAR CONTAINER

    Python の concurrent.futures はバージョン 3.2 で追加された並行・並列処理用のパッケージ。 似たようなパッケージにはこれまでにも threading や multiprocessing があったんだけど、これはそれよりも高レベルの API になっている。 デフォルトでスレッド・プロセスプールが使えたり、マルチスレッドとマルチプロセスがほとんどコードを変えずに使い分けられるメリットがある。 下準備 使う Python のバージョンが 3.2 未満のときは PyPI にあるバックポート版のパッケージをインストールする必要がある。 $ pip install futures ただし、今回使う環境は Python 3.5 なので関係ない。 $ python --version Python 3.5.1 $ sw_vers ProductName: Mac OS X P

    Python: concurrent.futures を使った並行・並列処理 - CUBE SUGAR CONTAINER
    hdkINO33
    hdkINO33 2018/08/10
  • Apache Spark を完全分散モードの YARN クラスタで動かす - CUBE SUGAR CONTAINER

    Apache Spark を使って複数ノードで分散並列処理をする場合、まずは動作させるためのクラスタマネージャを選ぶことになる。 Apache Spark では以下のクラスタマネージャに対応している。 Apache Spark 組み込み (これはスタンドアロンモードと呼ばれる) Apache Hadoop YARN Apache Mesos 今回は、その中で二番目の Apache Hadoop の提供する YARN を使ってみる。 また、なるべく実環境に近いものを作りたいので Apache Hadoop は完全分散モードを使うことにした。 そのため、まず前提として次のエントリを元に Hadoop クラスタが組まれていることが前提となる。 blog.amedama.jp Apache Hadoop を設定する Apache Spark のクラスタマネージャに YARN を使うときのポイントは

    Apache Spark を完全分散モードの YARN クラスタで動かす - CUBE SUGAR CONTAINER
    hdkINO33
    hdkINO33 2018/06/15
  • Python: Pykka でアクターモデルについて学ぶ - CUBE SUGAR CONTAINER

    アクターモデルというのは、並行処理のプログラミングモデルの一つだ。 並行処理という言葉からは、まずマルチスレッドとかをイメージすると思うけど、それよりも抽象度の高い概念となっている。 つまり、アクターモデルというのはマルチスレッドなどを用いて構築することになる。 どちらかといえばプロセス間通信 (IPC) の技法であって、共有メモリやロック、RPC と比較するものかもしれない。 そんなアクターモデルは、概念とか使ったときの嬉しさを理解・実感するのがなかなか難しいモデルだとも思う。 理由としては、使い始めるまでに必要なコード量が多かったり、それなりの規模のアプリケーションで使わないとメリットが分かりづらい点が挙げられる。 ただ、これはあくまで主観的なものだけど、アクターモデルをベースに組まれたアプリケーションは規模が大きくなっても並行処理をしているコードが読みやすい。 共有メモリやロックを使

    Python: Pykka でアクターモデルについて学ぶ - CUBE SUGAR CONTAINER
    hdkINO33
    hdkINO33 2018/05/28
  • Python: コマンドラインパーサの Click が便利すぎた - CUBE SUGAR CONTAINER

    Python のコマンドラインパーサといえば、標準ライブラリに組み込まれている argparse が基。 蛇足になるけど、バージョン 2.7 以前で使われていた optparse は将来的に廃止予定なので新たに使うことは避けた方が良い。 そして、今回紹介する Python のサードパーティ製コマンドラインパーサ Click は、既存のパッケージと比較すると最小限のコードで美しくコマンドラインインターフェースを実装できるように作られている。 どれくらい楽になるかといえば、もう argparse を使っている場合じゃないな、と思えるレベル。 Welcome to Click — Click Documentation (8.0.x) もくじ もくじ Click をインストールする 基的な使い方 コマンドを定義する オプションを追加する 引数を追加する サブコマンドを作る オプションについて

    Python: コマンドラインパーサの Click が便利すぎた - CUBE SUGAR CONTAINER
  • CentOS7 で不要になった古いカーネルを削除する - CUBE SUGAR CONTAINER

    CentOS7 のカーネルは定期的にアップデートされるけど、何もしないとアップデート後も古いカーネルはそのままディスク上に残っている。 古いカーネルが残ること自体は、新しいカーネルで何か問題があったときに古いバージョンに戻すことができるのでむしろ良い面もある。 ただ、長い間放置しているとディスクのスペース的にたまに問題が起こる。 カーネルをアップデートする際、パーティションのサイズに余裕がないと以下のようにエラーになってしまう。 $ sudo yum -y update ...(省略)... Transaction check error: installing package kernel-3.10.0-229.14.1.el7.x86_64 needs 30MB on the /boot filesystem エラーの要約 ------------- ディスク要求: 少なくとも 30M

    CentOS7 で不要になった古いカーネルを削除する - CUBE SUGAR CONTAINER
  • 1