音声概要 はじめに CRUDのうちUPDATEがもっともシステムを複雑化する。更新には複雑なルールが伴うからだ。業務的に複雑なルールが存在するのは仕方ないこともあるが、システム、設計で複雑さを更に増さないようにしたい。UPDATEに着目し、その発生をできるだけ削ることによって複雑さをおさえるためには、まずデータモデルをそのように設計しておかなけれなならない。このイミュータブルデータモデルは、それを手助けする手法で、手順に沿って実施すればある程度のスキルのバラつきも吸収できるように組み立てられている。 手順 Step1. エンティティを抽出する まずエンティティを抽出するところから始める。 5W1Hがエンティティの候補 従業員,患者,プレイヤー,顧客,生徒,... 製品,サービス,コース,曲,... 時間,日付,月,年,年度,... 送付先,URL,IPアドレス,... 注文,返品,入金,出
はじめにデータ分析基盤を構築する際、個人情報の適切な取り扱いはデータエンジニアにとって重要になってきます。特に業務利用と分析利用を明確に分離し、安全にデータを活用するための仕組み作りが必要で、実現方法を検討する必要があります。 今回は「データプラットフォームにおけるパーソナルデータとの向き合い方」という記事を拝見し、非常に共感できたため、改めて私の頭の整理のために設計パターンを残しておこうと思います。 分析を目的とした個人情報の取り扱い個人情報と一言に言っても、日本では様々な用語が定義されています。そこでわかりやすい画像を拝借します。 情報の関係性(データプラットフォームにおけるパーソナルデータとの向き合い方より)ほとんど多くの人に関わる部分は仮名加工情報でしょう。仮名加工情報とは、個人情報を他の情報と照合しない限り特定の個人を識別することができないように加工して得られる個人に関する情報で

フィールド内のすべての値が 'null' の場合、[DropNullFields]transform を使用し、データセットからフィールドを削除します。デフォルトでは、AWS Glue Studio は null オブジェクトを認識しますが、空の文字列、“null”の列、-1 の整数、または 0 などのプレースホルダなどでは、自動的に「null」として認識されません。 DropNullFields を使用するには ジョブダイアグラムに DropNullFields ノードを追加します。 [Node properties]タブで、NULL 値を表す追加の値を選択します。値を選択しないか、すべての値を選択するかを選択できます。 空の文字列("" or '') -空の文字列を含むフィールドは削除されます。 "null string"-単語「null」の文字列を含むフィールドは削除されます。 a-
ApacheAirflowは、データエンジニアリングパイプライン用のオープンソースのワークフロー管理プラットフォームである。2014年10月[1]にAirbnbで開発が始まり、ますます複雑化する社内のワークフローを管理するためのソリューションとして作られた。Airflowを開発したことで、Airbnbはワークフローをプログラムで作成・スケジュールし、組み込みのAirflowユーザーインターフェイス経由でワークフローを監視できるようになった[2][3]。プロジェクトは当初からオープンソースとして公開され、2016年3月にはApache Incubatorプロジェクトになり、2019年1月にはトップレベルのApache Software Foundationプロジェクトになった。AirflowはPythonで書かれており、ワークフローはPythonスクリプト経由で作成される。Airflow
Amazon Web Services ブログAWS Glue のクロスアカウントおよびクロスリージョンの接続を行うAWS Glue は、抽出、変換、ロード (ETL) のための完全マネージド型サービスであり、分析のためのデータの準備と読み込みを簡単にします。AWS Glue は、AWS Glue ドキュメントで説明されているように、接続を使用して、特定のタイプのソースおよびターゲットのデータストアにアクセスします。 デフォルトでは、AWS Glue を使用して、AWS Glue リソースを備えているのと同じAWS アカウントおよびAWS リージョンのデータストアへの接続を行うことができます。このブログ記事では、AWS Glue リソースを備えているのとは異なるアカウントやAWS リージョンのデータストアにアクセスする方法について説明します。AWS Glue の接続AWS G
データエンジニアが流行しだしてから数年が経過していますが、まだまだデータエンジニアリング分野は発展途上で、次々に新しいSaaSやツール、書籍が登場しています。 データエンジニアは、データの収集、分析、活用に必要なデータ基盤を構築・運用する職種です。企業によっては、データのマネジメントやその周辺知識も必要になります。データエンジニアとして活躍するためには、非常に幅広い知識と能力が求められます。 私がデータエンジニアとして業務を行う上で読んで良かったと心から思える本があったのでこちらで紹介します。どなたかの一助になれば幸いです。 初級向けデータエンジニアリング本ではありませんが、データエンジニアリングに必要な知識がスライドやPDFに綺麗にまとまっています。初めて学ぶ方には適しています。前半のデータエンジニアリングの箇所だけ参考にして下さい。(後半はAzure製品について記載されています) 注

GMSでインフラエンジニアないしデータエンジニアをやっているみゅーみくすです。 ちょうどアドベントカレンダーの時期になったのでマイナーですがタイトルについて書きます。 記載する内容は執筆時点となります。 https://qiita.com/advent-calendar/2022/aws 結論:躓きポイント まだ中途半端な状態ですがご了承下さい。 マネジメントコンソールから作成するとエラーになるのでCLI等から作成する必要がある(解決) AppFlowをTerraformで記載するにはawsプロバイダのバージョンを4系にする必要がある(未実施)Google Analyticsのメトリクスについて理解が必要Goal周りにハマった(未解決) データ連携後jsonをフラット化する必要がある(未実施) https://aws.amazon.com/jp/blogs/news/analyzing

Tests are now called data tests to disambiguate from unit tests. TheYAML key tests: is still supported as an alias for data_tests:. Refer to New data_tests: syntax for more information. Overview Data tests are assertions you make about your models and other resources in yourdbt project (e.g. sources, seeds and snapshots). When you rundbt test,dbt will tell you if each test in your project pas
はじめに データアナリティクス事業本部のおざわです。 オプションを指定せずにdbt runを実行すると、プロジェクト内の有効なモデルがマテリアライズ(実体化)されます。なにも指定せずにdbt runした場合に、特定のモデルを除外できないか試してみたところ、Selectorsを使えば目的の動作ができましたので共有したいと思います。 今回使ったdbtのバージョンです。 ❯dbt --version Core: - installed: 1.7.7 - latest: 1.7.7 - Up to date! Plugins: - redshift: 1.7.3 - Up to date! Selectorsとは 今回使うSelectorsは、一言でいうとリソースの選択方法に名前を付けておく機能です。 使い方としては、selectors.ymlにリソースの選択方法を定義しておきます。あとはコマン

事業会社においてBIやレポート用の分析を担当しているが以下のような状況に該当する人に向けたデータパイプライン構築の入門のための資料です 🧑🏻🦱「BigQuery等のView機能を活用しているが、データの流れを追うのが困難な状態になってしまっている、クエリの実行に時間がかかりBIツールが使いづらい」 👩🏻「専任のデータエンジニアがおらず、前処理をpython等で処理したりするのがリソース調整的に大変」 👱🏻♂️「ロードされたデータに重複があったり、過不足があったりしてデータの品質が担保できていない」 🧑🏻🦰「Digdagやluigiといったデータ変換ツールの独自の仕様を理解しきれておらず使いこなせていない」 ※現時点ではBigQueryを中心に記事を構成してあります、SnowflakeやAmazon Redshift等の様々な分析基盤でもdbtは対応可能です

Apache Spark の主要な抽象化の 1 つは SparkSQL DataFrame で、これは R と Pandas にある DataFrame 構造に似ています。DataFrame はテーブルと似ており、機能スタイル (マップ/リデュース/フィルター/その他) 操作とSQL 操作 (選択、プロジェクト、集計) をサポートしています。 DataFrames は、強力で広く使用されていますが、抽出、変換、ロード (ETL) 操作に関しては制限があります。最も重要なのは、データをロードする前にスキーマを指定する必要があることです。SparkSQL は、データに対してパスを 2 つ作ることでこれを解決します。この 1 つ目はスキーマの推定を行い、2 つ目はデータをロードします。ただし、この推測は限定されており、実際の煩雑なデータには対応しません。例えば、同じフィールドが異なるレコードの
Jupyter Magics の概要 Jupyter Magics は、セル先頭またはセル本文全体として実行できるコマンドです。マジックの先頭は、Line Magics の場合は %、Cell Magics の場合は %% です。%region や %connections などのLine Magics は、セル内の複数のマジック、または次の例のようにセル本文に含まれるコードを使用して実行できます。 %region us-east-2 %connections my_rds_connection dy_f = glue_context.create_dynamic_frame.from_catalog(database='rds_tables', table_name='sales_table') Cell Magics はセル全体を使用する必要があり、コマンドを複数行に渡すことができま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く