GlueのDynamicFrameでS3へファイル書き出す時はCSVやJSONよりParquetが早い

DynamicFrameを使った開発をしていたら、大した処理していないのに、想像以上に時間がかかるなと思って調べていたら、JSONの書き出しが時間かかっていました。 タイトルの通り、JSONやCSVでのS3出力と比較してParquetでの出力は凄い早いというお話です。処理…

Glueで色々な日付フォーマットの文字列をtimestamp型に変換してみた

掲題の件、JSON等にある日付フォーマットの文字列から、Timestamp形式に変換したかったのですが、どの書式だと変換できるのか良くわかってなかったので、実際に実行してみました。 初期化 日付文字列 Glueでマッピング 結果 UnixTimeの変換 Glue Spark 初期…

AthenaでHIVE_PARTITION_SCHEMA_MISMATCHが発生 GlueカタログのTableとPartitionの間のスキーマに不整合直して解消

掲題のエラーに当たってサポートに対応教えてもらったのでメモ。 事象 原因 パーティションの例 テーブルのスキーマ パーティション毎のスキーマ 対応 参考 事象 CSVをGlueを使ってパーティション分割して、AthenaでプレビューしてみたらHIVE_PARTITION_SCHE…

LEGOとRaspberry Piで会社のイベント展示用のデモ作った話

この動画のデモを作った話です。題名にLEGOと入れましたが、自分はLEGOは触っていなくて、Raspberry Pi専任で作っていたこともあり、少し、技術的なことを中心に書いていこうと思います。 youtu.be www.beex-inc.com 何で作ったのか? どうやって動いている…

Lake Fomationの前身?AWS Data Lake Solutionを触ってみました

先月のre:Invent 2018で発表になったLake Formation。現地で聞いていて即効プレビュー申し込んであるのですが まだ使えていません。 そんな時に一緒に仕事をしている方から、こんなモノがあることを聞きました。 aws.amazon.com こちらから引用したアーキテ…

Livy+SparkmagicでWSL上のSparkをWindows側のJupyter notebookから使う

やりたいこと 利用リポジトリ Apache Livy Sparkmagic WSLでSparkをダウンロード WSLでLivyインストール&ビルド Sparkmagic 他のSparkのバージョン 参考URL やりたいこと Windows上に入れたSparkとJupyter Nootbookで開発していたら、Windowsのディレクトリ…

Alexaに聞いたらDatalakeからKPIを抽出して答えてくれますよというWorkshop受講してきた

re:Invent 2018、今日は私の日程の最終日でした、明日は帰りの飛行機早いので、このブログ書いたら寝ようと思って書いています。 ちょうど今、ChatBotもDatalakeも別々のプロジェクトで手がけてますが、まさかそれが合わさったセッションがあるとは思いませ…

re:InventでHands-On LabsからKeynote見てきました

re:Invent 2018に来ています。 KeynoteがOverflowで入れなかったので、どこかの部屋でモニタで見るくらいならと思いHands-On Labsに行ってきました。 Hands-On Labsでできること Quick Labsというトレーニングサービスがあります。 当然日本でも使えるもので…

re:Invent 2018でのAWS Glue周りの発表を聞いてきた(Python Shell、CloudWatch Event連携、Lake Formation)

AWS re:Invent 2018に参加するためラスベガスに来ています。 昨日はこちらのセッションを聞きました。 AWS re:Invent 2018: Building Serverless Analytics Pipelines with AWS Glue (ANT308) そこで、静かに(?)AWS Glueの新機能の発表がありました。 セ…

AWS GlueでDynamoDBがサポートされたので触ってみた

AWSのre:Invent 2018に参加するためラスベガスに来ています。 題名の通りGlueのCrawlerとETLジョブでDynamoDBがサポートされましたので早速動かしてみます。 セッション 発表されたセッションとスライドはこちらです。他にもあったのですが、今すぐ動くDynam…

LUISが日本語の日付に対応していないので正規表現で引くことにした

LUISで日付認識させようとして、上手く行かないので一旦正規表現で対応したという話です。2018/11/15時点の内容なので、将来的には対応されると信じています。対応状況はこちらを見るとわかると思います。 LUISがDatetimeを認識しない 正規表現で対応するこ…

Application Insightsのログ検索(Log Analytics)でJSONを展開する方法

Application Insightsのログ検索(Log Analytics)はKusto Query Languageという言語のようです。 Application Insightsのログ検索機能ですが、SDK使えば簡単にログ情報を構造化して保存できて、後で検索もしやすいです。使えるようになれば、凄い便利なのに調…

Azure Bot Service で宛先やCC追加などEmailの返信をカスタマイズする

掲題の件、 channelData のプロパティ調整すれば可能です。 つまりはこんな感じです。 enum Importance { High = "high", Normal = "normal", Low = "low", } const sendMail = async (context: TurnContext, toRecipients: string[], ccRecipients: string[…

AWS Glueの仕様でサポートに問い合わせた内容

最近Glueを使っていて、その過程でAWSサポートに問い合わせしたり、仕様を確認した内容をまとめておきます。 Tableのプロパティ(Parameters)の制限 SageMakerでGlueのライブラリ読み込むとエラーが出る S3からS3へのコピーでVPCエンドポイント使いたい 接…

TypescriptからMicrosoft Graph API使ってSharePointやOneDrive上のExcelの情報を読み込む

TypeScriptからSharePointやOneDriveのExcel Onlineの情報を読み込む方法を書きます。 読み込みたいファイル 認証 App Registration Portalへアプリケーション登録 Tokenの取得 TypeScriptからExcelへアクセスしてみる config.json index.ts 実行してみる 参…

AWS Certified Big Data - Specialty 合格してきました

AWS

AWSのソリューションアーキテクトのプロ持っていたのですが、1年くらい前に失効しています。 またアソシエイトから取るのも面倒だし、そもそも同じ試験受けるのってモチベーションを上げにくい。ということでAWSの認定から遠ざかっていたのですが、先日こん…

AWS GlueでGrok使いALB アクセスログを取り込んでParquetやORC形式に変換

Grokパターン作成 事前調査 ALBのアクセスログの項目 ビルドインのGrokのパターン logstashのELBのGrokパターン 作成 分類子(Classifier登録) Crawler カタログデータベース確認 テーブル確認 Athenaで検索 ETLジョブ Glueからパーティショニングして書き込…

GARMIN vivo smart HRJ から vivoactive 3 Musicに乗り換えて数週間ですが快適です

以前こちらのブログで書いた通り、vivosmart 、vivosmart HRJと使ってきました。 下のブログにも書いているとおり、個人的一軍ガジェットなのですが、なんせ24時間つけっぱなしなので、子供と遊んだりしていると、ボロボロになってきます。 yomon.hatenablog…

【AWS Glue】aws-glue-samplesを動かすまでの前準備の作業メモ

AWS GlueのNotebook起動した際に Glue Examples ついている「Join and Relationalize Data in S3」のノートブックを動かすための、前準備のメモです。 Join and Relationalize Data in S3 This sample ETL script shows you how to use AWS Glue to load, tr…

Azure Bot Builder SDK for Node.js Version 4でTypeScript開発環境構築

botbuilderのVersion4ですが、いつリリースされるのかと待ってたところ、今週botbuilderの4.0.6がnpmにリリースされて、preview表示が消えているのを見つけました。 実際はまだ各所でPreviewのままなので正式リリースでは無いのかもしれません。 このロード…

感圧センサーの値をRGB LED Matrix Displayでグラフ表示してみた

先週やったことなのですが、そのままだとすぐに忘れそうなので書いておきます。 使ったパーツ 感圧センサー RGB LED Matrix 64 x 32 配線 プログラム 準備 配置 実行 使ったパーツ 感圧センサー yomon.hatenablog.com RGB LED Matrix 64 x 32 yomon.hatenabl…

Azure Bot ServiceでSlackやTeamsなどの別チャネル間でのメッセージを仲介するBotを作る

やりたいことタイトルで伝わるか微妙ですが、要は以下の図のようにAzure Bot Serviceで仲介して複数のチャネルの人を繋げるやり方が無いかと調べ始めました。 そこで見つけた、このあたりのIssueを読むと、できそうな気がしたので実際にやってみました。 Mak…

Raspberry PiでSPI1の系統を追加で有効化して設定する方法調べたのでまとめ

複数系統のSPIを利用したい状況になったので調べました。 GPIOピンマップ SPI1有効化の設定 SPI1有効化確認 SPIの色々な設定 CEにアサインされているピンを変更したい 詳しくはREADMEにも書いてあります py-spidevで使うなら 参考URL GPIOピンマップ 参照す…

UbuntuでもAWS Systems Manager Session Manager for Shell Accessをログ取得まで設定してみた

AWS

お世話になっているクラメソさんの記事(Mac向け)を見て、私のUbuntu PC環境でもいけるかなとやってみました。 dev.classmethod.jp Ubuntu PC側作業 サーバー側 Shell Accessで接続 ロギング設定 参考URL Ubuntu PC側作業 まずはawscliを最新に更新します。…

Raspberry Pi Zero v1.3をUbuntu PCとUSBケーブル1本で接続セットアップ

Raspberry Pi Zero v1.3はWifiが無いので少し面倒かなと思っていたのですが、USBケーブルだけでPCと接続できるのでWifiすらいらないという意味で逆に便利です。 そして、送料合わせても約800円で購入できます。 www.switch-science.com そんな、Raspberry Pi…

Raspberry Piで感圧センサー(ALPHA-MF02-N-221-A01 )の情報取得するところまで

こちらのALPHA-MF02-N-221-A01という感圧センサーを購入したので情報を取得するところまで。 Amazon 感圧センサ(四角形)出版社/メーカー: スイッチサイエンスメディア: この商品を含むブログを見る スイッチサイエンス 感圧センサ(四角形) - スイッチサ…

Slackに貼られたBacklog課題URLからタイトルを教えてくれるHubot

SlackでBacklogの課題を貼り付ける時、URLだとリンク踏んでみないと何の課題かわかりません。 前の現場でRedmineのURLを貼るとタイトル教えてくれるBotがあったので、それのBacklog版を作りました。 事前準備 開発 パッケージインストール スクリプト配置 メ…

Vimキーバインド PDF Viewer の ZATHURA が良い感じ

PCの操作は可能な限りVimキーバインドで統一したいと思っています。といっても9割はコンソールとVim+VSCode+Inkdrop、ブラウザで済んでしまいます。ブラウザはVimiumにお世話になっています。 残りの1割の少なくない部分を占めるPDF観覧もVim風に操作したい…

aptで任意のバージョンを指定してazure-cliをインストールする方法

最新版にバグがあって、古いバージョンに戻した際のメモ。 ちなみにインストール手順はこちらです。 docs.microsoft.com 利用可能なパッケージの一覧を取得します。 $ apt list -a --installed azure-cli 一覧表示... 完了 azure-cli/bionic,now 2.0.45-1~bi…

Raspberry PiでP3 RGB LED Matrix Display 64×32 を動かすまで

こちらを動かしてみたのでメモしておきます。 P3 RGBピクセルパネルHDビデオディスプレイ64×32ドットマトリックスSMD LEDディスプレイモジュール192×96mm 届いた製品内容 ディスプレイ本体。サイズは商品名にもある通り192×96mmです。 ディスプレイの電源用…