ブックマーク / dev.classmethod.jp (45)

  • Airflowのコンセプトと仕組みを理解する | DevelopersIO

    春田です。 Airflowを活用したプロジェクトに携わる事になったのですが今回初めて触れる形となるため、まずはAirflowに関する概要を勉強しながらまとめてみました。 Airflowとは The Airflow Platform is a tool for describing, executing, and monitoring workflows. Airflowは、ワークフロー(例えば、A B Cという3つのタスクがあった時、これらをいつどの順番で実行するか)を記述、実行、監視するためのツールです。 このAirflowは DAG (Directed Acyclic Graph: 有向非巡回グラフ) というグラフ理論がベースになっています。私自身、グラフ理論にあまり精通していないのため、自分でも理解できるように噛み砕いた言葉で説明していきます。 DAG (Directed Acycl

    Airflowのコンセプトと仕組みを理解する | DevelopersIO
    wakuteka
    wakuteka 2018/11/05
  • Dialogflow Phone Gatewayを使って電話と繋いでみた | DevelopersIO

    Dialogflowを設定する Google アカウントを使用して、ログインしたらまずAgentを作成しましょう。Dialogflow Phone Gatewayは、英語のみ対応しているのでAgentも英語で作成する必要があります。 作成が完了すると、Intentsページに遷移します。Default Welcome IntentとDefault Fallback Intentが作成されているはずです。 まずは、電話をかけた時のメッセージを作成しましょう。Default Welcome Intentをクリックしてください。このインテントが呼ばれるためのフレーズやレスポンスなどを定義できます。 電話をかけたレスポンスを設定します。 設定を完了したら保存してください。 次にオーダーを受け付けるインテントを作成します。名前(OrderIntent)を入れてSAVEをクリックすると作成されます。 A

    Dialogflow Phone Gatewayを使って電話と繋いでみた | DevelopersIO
    wakuteka
    wakuteka 2018/11/01
  • 【小ネタ】SQLで複数カラムに対してDISTINCT【Athena/Presto編】 | DevelopersIO

    SQL で特定のカラムに対して重複を排除した数を数えたい時 SELECT COUNT(DISTINCT column) とすればOKです。 では、対象のカラムが複数あるときはどうすればよいでしょうか? 対象のカラムが文字列型の場合、複数カラムを文字列連結させて、擬似的に1カラムとみなすことが考えられます。 SELECT COUNT(DISTINCT column1 || ',' || column2) この場合、対象のカラムが全て文字列型であるという大前提があるうえ、仮に全て文字列型の場合も、結合によって意図せず一致してしまうこともありえます。 分散 SQL クエリーエンジン Presto では、structural データ型の ROW 型を使うとシンプルにかけます。 SELECT COUNT(DISTINCT ROW(column1, column2)) Presto の structu

    【小ネタ】SQLで複数カラムに対してDISTINCT【Athena/Presto編】 | DevelopersIO
    wakuteka
    wakuteka 2018/10/25
  • AWS CLIでインスタンスプロファイルからのAssumeRoleが簡単になりました | DevelopersIO

    AWS のクロスアカウント・オペレーションを楽にする地味なアップデートAWS CLI にきました。 tl;dr [dst-role] role_arn = arn:aws:iam::123456789012:role/some-role credential_source=Ec2InstanceMetadata というようにクレデンシャル設定($HOME/.aws/credentials)の credential_source に Ec2InstanceMetadata を指定するだけで、インスタンスプロファイルから対象アカウントの IAM Role を assume 出来るようになりました。 ユースケース 特定のサーバーから複数のAWSアカウントのリソースを操作する事を考えます。 操作先の各 AWS アカウントに IAM クレデンシャルを発行すると、アカウントが増えた時のクレデンシャ

    AWS CLIでインスタンスプロファイルからのAssumeRoleが簡単になりました | DevelopersIO
    wakuteka
    wakuteka 2018/05/21
  • 【国内販売開始】AWS IoT Enterprise Button試してみたらホンマに簡単にLambda関数を実行できた | DevelopersIO

    まいど、大阪の市田です。 昨年のre:Inventで発表のあった「AWS IoT Enterprise Button」がついに販売開始となりました。 AWS IoT 1-Click – Use Simple Devices to Trigger Lambda Functions | AWS News Blog 早速購入して試してみたので、ご紹介したいと思います。 デバイスを登録する スマホアプリから登録したほうが楽ですが、下記のブログのようにマネジメントコンソールからやってみたいと思います。 AWS IoT 1-Click – Use Simple Devices to Trigger Lambda Functions | AWS News Blog マネジメントコンソールから「IoT 1-Click」をクリックしてスタートです。IoT系のサービスが充実してきてワクワクしますね。 ページを

    【国内販売開始】AWS IoT Enterprise Button試してみたらホンマに簡単にLambda関数を実行できた | DevelopersIO
    wakuteka
    wakuteka 2018/05/18
  • 【新サービス】AWS上でフルマネージドなデータカタログとETLを実現するサービス『AWS Glue』がリリースされました!使い始めの準備をご紹介 | DevelopersIO

    【新サービス】AWS上でフルマネージドなデータカタログとETLを実現するサービス『AWS Glue』がリリースされました!使い始めの準備をご紹介 はじめに こんにちは、yokatsukiです。 AWS re:Invent 2016のDAY2キーノートにて発表された『AWS Glue』が、日2017年8月15日、NYC AWS Summitにて一般公開されました! AWS Glueとは サービス概要 AWS Glueは、「フルマネージドでサーバレス、そして、クラウド最適化された ETLサービス」です。 サービスの概要については、今までに弊社で記述したAWS Glue関連のブログエントリがありますので、そちらを参考にして下さい。 AWSのフルマネージド型 ETL サービス『AWS Glue』の紹介動画を観て来たるべきリリースに向けて情報収集してみる | Developers.IO 【速報】A

    【新サービス】AWS上でフルマネージドなデータカタログとETLを実現するサービス『AWS Glue』がリリースされました!使い始めの準備をご紹介 | DevelopersIO
    wakuteka
    wakuteka 2018/05/02
  • DataPipelineを利用してEFSのバックアップ環境を作ってみた | DevelopersIO

    はじめに こんにちは、中山です。 最近DataPipelineとEFSを触る機会がありました。EFSは非常にシンプルなサービスなので比較的理解しやすいですが、DataPipelineの方は少しとっつきにくい印象があります。各サービスを連携する用途で利用されることを想定している点、またビックデータ系の知識が必要な点が主な理由なのかなと考えています。確かにDataPipelineをより深く理解するにはそれらの知識を習得する必要があるのですが、「定期的にデータをバックアップする」といった初歩的な用途であればそこまで難しくはない印象です。今回はDataPipelineを理解するために、以下のドキュメントに記載されている内容を参考にしてバックアップ環境を作ってみたので、エントリでご紹介したいと思います。 Walkthrough 4: Back Up an EFS File System なお、環境

    DataPipelineを利用してEFSのバックアップ環境を作ってみた | DevelopersIO
    wakuteka
    wakuteka 2018/05/02
  • Amazon Athena: カラムナフォーマット『Parquet』でクエリを試してみた #reinvent | DevelopersIO

    先日『AWS re:Invent 2016』にて発表された新サービス『Amazon Athena』は、マニュアルにもある通りAWSが提供するフルマネージドHiveサービスと言えるでしょう。DWH用途で考えるとレコードをフルスキャンするよりも特定のカラムを集計・フィルタするというユースケースが多くなりそうですので、カラムナフォーマット『Parquet』を試したみたいと思いました。Parquetファイルの変換や、一般的なCSVとの簡単な比較をしてみました。(意外な結果が...) カラムナフォーマット『Parquet』とは データ分析では大福帳フォーマットのテーブルデータに対して、特定の列の値を集計したり、フィルタリングすることが多いため、カラム毎にデータが連続して格納されていると必要なデータのみをピンポイントで読み込むことができるからです。また、列方向には同じ種類のデータが並んでいるため、圧縮

    Amazon Athena: カラムナフォーマット『Parquet』でクエリを試してみた #reinvent | DevelopersIO
    wakuteka
    wakuteka 2018/04/09
  • AWS SDK for Python (Boto3) で Amazon Athena にクエリする | DevelopersIO

    こんにちは、藤です。 現地時間 5/19 に Amazon Athena の API が公開され、各種言語の AWS SDK や、AWS CLI でのアクセスもサポートされました。今までプログラムから扱う場合に JDBC しかなかったため、Java 以外の言語でクエリすることができませんでした。(OSS ツールなどでやっている方もいるようですが。)それが AWS SDK を利用するだけで簡単に各種言語のプログラムからアクセスできるようになりました。 Amazon Athena adds API/CLI, AWS SDK support, and audit logging with AWS CloudTrail 弊社ブログエントリでも AWS CLI を利用したクエリの使い方が早速エントリされました。 新機能 AWSCLIから Amazon Athena のクエリを実行する API や流

    AWS SDK for Python (Boto3) で Amazon Athena にクエリする | DevelopersIO
    wakuteka
    wakuteka 2018/04/04
  • サーバーレスがアプリケーションにもたらす本当のメリットとは?「サーバーレスのポテンシャルとシステム表現」#devsumi | Developers.IO

    サーバーレスがアプリケーションにもたらす当のメリットとは?「サーバーレスのポテンシャルとシステム表現」 #devsumi 「そのサーバーレス、当に意味あるの?」 AWS re:Invent 2014で、AWS Lambdaが発表されてから丸3年が経過。サーバーレスという単語もすっかりこの界隈では定着した感はあります。 ですが、実際の開発・運用ノウハウについては、まだまだ試行錯誤が続いているのが現状じゃないでしょうか。ぶっちゃけ、既存アプリケーションのEC2をLambdaに置き換えるだけではほとんどメリット無いでしょ、という感触は、ある程度サーバーレスアプリケーションをゴリゴリ作っている人であれば、よく感じていることだと思います。 そんななか今回受講したこのデブサミのセッションでは、新しい観点でサーバーレスがもたらす恩恵やメリットを捉えることができてごっつ新鮮だったので、その模様をお届け

    サーバーレスがアプリケーションにもたらす本当のメリットとは?「サーバーレスのポテンシャルとシステム表現」#devsumi | Developers.IO
    wakuteka
    wakuteka 2018/02/22
  • (レポート) 『SHOWROOM』の大規模化に伴う技術課題のソリューション #denatechcon | DevelopersIO

    はじめに ブログは2018年2月7日(水)に開催されたDeNA TECH CONFERENCE 2018のセッション、「『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~」のレポートです。 スピーカーは株式会社SHOWROOMの池滝 俊太さん。 レポート 自己紹介 SHOWROOM tech studio head 2014年新卒入社、エンターテイメント事業部配属→SHOWROOMに異動(出向) 仮想ライブ空間「SHOWROOM」 アイドルやタレント、アーティストとリアルタイムにコミュニケーション 同期性(生放送) 視聴者の可視化(視聴者にアバターを設定) 常時100から150イベントを開催 同時に開催されているイベントの中でファン数などでバトルする 2013年11月に立ち上げ、サービス開始5年目 技術的な負債も溜ま

    (レポート) 『SHOWROOM』の大規模化に伴う技術課題のソリューション #denatechcon | DevelopersIO
    wakuteka
    wakuteka 2018/02/13
  • [小ネタ] S3に保存されているログファイルをAWS CLIでまとめてコピーする | DevelopersIO

    はじめに 清水です。ELBやCloudFront、S3などのアクセスログはS3に保存されます。 アクセスログは外部ツールと連携させて監視や可視化するということもあると思いますが、直接ログファイルを確認することも多いのではないでしょうか。 ログファイルを直接確認するときはS3から作業用マシンにファイルをコピーしますが、保存先のS3バケット内のPrefixで指定したディレクトリにファイルが大量にあることが多いことから、私はAWS CLIを使ってコピーすることが多いです。 AWS CLIの場合、UNIXとまったく同じ書式でワイルドカードを使用することはできませんが、--recursiveオプションと--excludeオプション、--incluceオプションを組み合わせることで同様のことができます。 今回はアクセスログファイルから特定の日付のファイルだけを作業用マシン(AWS CLIを実行している

    [小ネタ] S3に保存されているログファイルをAWS CLIでまとめてコピーする | DevelopersIO
    wakuteka
    wakuteka 2018/01/31
  • [新サービス]テキスト読み上げサービス「Amazon Polly」がリリースされました! #reinvent | DevelopersIO

    はじめに AWS re:Invent 2016のKeynote 1にて、テキスト読み上げサービス「Amazon Polly」がリリースされました! Amazon Pollyとは Amazon Pollyはテキスト読み上げサービスです。今回発表されたAmazon AIシリーズの1つで、Pollyには24の言語と47の音声が含まれており、テキストを自然な形で発声します。Amazon Pollyを活用することで音声対応のアプリケーションを簡単に構築することが出来そうです。アウトプットはそのまま再生したり、オーディオファイルとして保存することも出来ます。 やってみた Text-to-Speech Pollyの管理画面にアクセスし、[Get started]ボタンをクリックします。 [Text-to-Speech]画面では、プレーンテキストまたはSSML(Speech Synthesis Marku

    [新サービス]テキスト読み上げサービス「Amazon Polly」がリリースされました! #reinvent | DevelopersIO
    wakuteka
    wakuteka 2018/01/04
  • 【小ネタ】CloudWatch Logsの料金が高かったのでAWS CLIを使って調査した話 | DevelopersIO

    西澤です。CloudWatch Logsは非常に便利で強力なサービスですが、ログ量が多くなる場合は課金に注意が必要です。今回AWS CLIで調査する機会があったので、その際の対応について簡単にまとめておきます。 CloudWatch Logsの料金(おさらい) 2020年2月時点での東京リージョンでのCloudWatch Logsの利用料金は以下のとおりです。 バージニアリージョンの料金が記載されているとの指摘を受けまして、下記料金を東京リージョンの最新の料金情報に合わせて訂正いたしました。大変申し訳ありません。 $0.76 : 取り込み GB あたり $0.033 : GB あたりのアーカイブ/月 料金 - AWS CloudWatch | AWS エクスポート時のデータ転送料金は置いておくと、"アーカイブ"の方はS3料金と大差がありませんが、問題となるのは"取り込みGBあたり"のところ

    【小ネタ】CloudWatch Logsの料金が高かったのでAWS CLIを使って調査した話 | DevelopersIO
    wakuteka
    wakuteka 2017/11/09
  • AWS CLIがAssumeRoleによる自動クレデンシャル取得とMFAに対応しました! | DevelopersIO

    よく訓練されたアップル信者、都元です。日リリースされたaws-cli 1.6.0では、大きく2つの機能が追加になっています。一つはWaiters、こちらはAWS CLIのWaitersによる待ち受け処理を実装するを御覧ください。エントリーでは、AssumeRoleとMFAについて。 AWS CLIにおける永続キーの管理 AWS CLIで数多くのAWSアカウント(APIアクセスCredentials)を扱う場合、~/.aws/credentialsファイルに、複数のプロファイルを作成し、それぞれにアクセスキー・シークレットアクセスキーを記述します。#以降はコメントとして扱われるので、私は下記のように、AWSアカウントIDも記述しておいたりしています。 ~/.aws/credentials [foo] # 111122223333 aws_access_key_id = AKIAXXXXX

    AWS CLIがAssumeRoleによる自動クレデンシャル取得とMFAに対応しました! | DevelopersIO
    wakuteka
    wakuteka 2017/06/19
  • RDS MySQL5.5.33 で『utf8mb4』(4バイト対応UTF-8文字コードセット)を試してみた | DevelopersIO

    ちょっとした小ネタです。RDS(MySQL)に於いて、『utf8mb4』に対応した環境が作成出来るか/対応しているかという件で確認する機会がありましたので、当エントリに備忘録的として記しておきます。 目次 『utf8mb4』とは RDS(MySQL)環境の用意 『utf8mb4』に対応したパラメータグループを作成・適用 『utf8mb4』関連パラメータグループ適用後の内容確認 『utf8mb4』とは この『utf8mb4』というもの、文字コードの一種で、UTF8で4バイト文字を扱う事が出来るものらしいです。 MySQLで4バイトのUTF-8文字を扱ってみる - HHeLiBeXの日記 正道編 また、それぞれのバージョンで扱う事が出来るCharacter Setの一覧も以下にメモしておきます。 MySQL :: MySQL 5.1 Reference Manual :: 10.1.13 Ch

    RDS MySQL5.5.33 で『utf8mb4』(4バイト対応UTF-8文字コードセット)を試してみた | DevelopersIO
    wakuteka
    wakuteka 2017/05/06
  • 【Tips】jqが入ってなくてもjsonをpythonで見やすくする方法 | DevelopersIO

    サーモン大好き、横山です。 jsonを見るときに、大活躍するjqですが、「入れたと思ったサーバに実は入ってなかった!」という経験があるんじゃないでしょうか? Amazon Linuxの場合ですと、 $ sudo yum install -y jq のコマンドを叩けばインストールできますが、今回は敢えてjqがなかった場合の方法をご紹介いたします。 この記事はjqの使用を抑制するような記事ではございません jsonを取得する 今回は OpenWeatherMapAPIを使い、東京の天気の情報をjsonで取得します。 $ curl -s "http://api.openweathermap.org/data/2.5/weather?q=Tokyo,jp" {"coord":{"lon":139.69,"lat":35.69},"sys":{"message":0.0179,"country"

    【Tips】jqが入ってなくてもjsonをpythonで見やすくする方法 | DevelopersIO
    wakuteka
    wakuteka 2017/05/06
  • EC2からNFS経由でS3オブジェクトを保管できるようになりました![Storage Gateway] | DevelopersIO

    神アップデートな予感がしてます、コンニチハ、千葉です。 2016年11月30日に、ご紹介しました[新機能]オンプレミスからNFS経由でS3オブジェクトを保管できるようになりました![Storage Gateway]が、なんとEC2上で利用できるようになりました。 これで、EC2からもNFS経由でS3のオブジェクトを直接利用できるようになります。APIを利用してS3へアップロードする必要がなく、NFSにて利用できるのレガシーなシステムでは重宝するのではないでしょうか。 また、NFS(オンプレ/EC2) > Storage Gateway > S3 > Redshiftのような利用も考えられます。 注意点としては、Gatewayインスタンスは現状は冗長化できないという点です。ただ、種々バックアップストレージやデータ連携としてバックエンドにS3を利用できるのできるのと、直接S3にオブジェクトとし

    EC2からNFS経由でS3オブジェクトを保管できるようになりました![Storage Gateway] | DevelopersIO
    wakuteka
    wakuteka 2017/02/22
  • Amazon S3における「フォルダ」という幻想をぶち壊し、その実体を明らかにする | DevelopersIO

    よく訓練されたアップル信者、都元です。Amazon S3について細かい説明は不要かと思いますが、要するにファイルストレージです。HTTPベースでファイルをアップロードでき、そしてダウンロードできるサービスですね。 古くから、データはシリアライズされた形式でファイルという単位に格納し、管理されてきました。ローカルマシン内でファイルを管理する仕組みがファイルシステムで、その多くにはフォルダという階層構造を扱う仕組みが備わっています。 Amazon S3も、Management Consoleによってフォルダを作成し、その中にさらにフォルダを作成したり、ファイルを格納できたりします。しかし。 Amazon S3には実はフォルダという概念は無い のです。Amazon S3の基礎技術は、単純なKVS(Key-Value型データストア)でしかありません。例えば下記のようなフォルダ(と我々が認識している

    Amazon S3における「フォルダ」という幻想をぶち壊し、その実体を明らかにする | DevelopersIO
    wakuteka
    wakuteka 2016/12/06
  • 無駄なコストを省こう!AWSで消し忘れを防止するためにチェックすべき7つのポイント | DevelopersIO

    はじめに 以前、AWS利用料のメールが見て、思っていたよりも高くてビックリしたことがあります。調べてみたところ勉強用に立ち上げたRDSを消し忘れていました。今は会社のアカウントを使わせてもらっているので自分の財布に直接響くことはなくなりましたが、同じようなことを起こさないために消し忘れてないかチェックすべきポイントをまとめます。 1.インスタンス 当たり前ですがまずは不要なインスタンスを停止もしくは削除します。もちろんRedshift、ElastiCacheのクラスタ、Kinesisのストリームなども含みます。停止するのを忘れた時に自動でシャットダウンするようにしておくのもいいでしょう。私は以下の記事が参考になりました。 【AWS】CloudWatch入門/使っていないEC2を自動シャットダウンしよう 以下の記事のように起動する際に最初から1日で止まるように設定しておくのも有効だと思います

    無駄なコストを省こう!AWSで消し忘れを防止するためにチェックすべき7つのポイント | DevelopersIO
    wakuteka
    wakuteka 2016/11/02