Snowflake と SageMaker Canvas でノーコード ML ワークフローを構築
本文の状態
日本語全文を表示中
詳細モードで約12分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
AWS Machine Learning Blog
AWS は Snowflake と連携したノーコード ML ワークフローの構築ガイドを公開し、データサイエンティストへの依存なくビジネスユーザーが予測モデルを構築・可視化できる環境整備手順を提示する。
AI深層分析を開く2026年8月21日 10:20
AI深層分析
キーポイント
ノーコード ML の導入背景と課題
医療や小売などの業界で Snowflake に蓄積された大量データから予測を導き出す際、従来の手法では専門チームへの依存や開発サイクルの長期化がボトルネックとなっている。
Amazon SageMaker Canvas の役割
コード記述不要でデータの探索、特徴量作成、モデル構築が可能となる Amazon SageMaker Canvas を活用し、ビジネスアナリストや運用チームが直接意思決定を加速させる仕組みを提案する。
3 部構成シリーズの全体像
本稿は第 1 弾として AWS アカウントと Snowflake 環境の設定手順を扱い、第 2 弾で SageMaker Canvas を用いたデータ準備・モデル構築、第 3 弾で Amazon QuickSight による可視化と共有を行う。
実証されたビジネス課題の解決
実際の医療機関事例において、データサイエンスリソース不足により発生していた需要予測やパターン分析の遅延を解消し、BI ダッシュボードに ML 駆動のインサイトを統合する具体策を示す。
ビジネスユーザーとデータサイエンティストのギャップ解消
ビジネスユーザーは質問とデータを理解しているが予測モデルを構築する手段がなく、組織は専門リソースへの依存を減らしつつガバナンスを維持する必要がある。
重要な引用
Traditional machine learning (ML) approaches require specialized teams, long development cycles, and heavy engineering support, creating delays and limiting experimentation for the business users who understand the data best.
With Amazon SageMaker Canvas, you can explore datasets, prepare features, build predictive models, and generate insights visually without writing code and without depending on data science resources.
Rather than introducing yet another complex ML pipeline, the organization needed an approach that could bring machine learning closer to business teams.
Amazon Quick visualizes these insights through interactive dashboards, making ML-driven forecasts accessible to stakeholders across your organization without custom pipelines or data-science intervention.
編集コメントを表示
編集コメント
本記事は、データサイエンスリソースの不足という普遍的な課題に対し、ノーコードツールによる実用的な解決策を提示している。特に医療や小売といったデータ量が膨大な業界において、専門家の手を借りずに迅速に価値を引き出すための具体的なロードマップとして機能する。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
ヘルスケア、小売、ライフサイエンスの組織は、Snowflake などのクラウドデータウェアハウスで膨大な量の運用データを生成しています。これらのシステムは情報を効率的に保存・拡張できますが、そのデータを意味のある予測に変換することは依然として課題です。
従来の機械学習(ML)アプローチでは、専門チームが必要となり、開発サイクルが長期化し、エンジニアリングのサポートも重くなるため、データに最も詳しいビジネスユーザーにとって実験の機会が制限され、遅延が生じていました。
ノーコードの ML ワークフローはこの状況を劇的に変えます。
Amazon SageMaker Canvas を利用すれば、コードを書かず、データサイエンスリソースに依存することなく、視覚的な操作でデータの探索、特徴量の準備、予測モデルの構築、洞察の生成が可能になります。ビジネスアナリスト、プロダクトオーナー、運用チームは、エンタープライズレベルのセキュリティとガバナンスを維持したまま、意思決定を加速させることができます。
これは3 部構成シリーズの第 1 弾です。第 1 回では、AWS アカウントと Snowflake 環境のセットアップ方法を解説します。第 2 回 では、Amazon SageMaker Canvas を Snowflake に接続し、データの前処理と不正検知モデルの構築を行います。第 3 回 では、予測結果を Amazon QuickSight に送信し、インタラクティブなダッシュボードを作成してステークホルダーと知見を共有します。
ビジネス上の課題
このソリューションは、Snowflake 内に販売取引、商品の移動、患者とのやり取り、地域別の業績指標など、何年にもわたる運用データを蓄積していたある医療機関の事例から着想を得ています。データ基盤は堅牢でしたが、そのデータを予測可能なインサイトに変換することは依然として大きな課題でした。
ビジネスチームは、複数の製品カテゴリにわたる需要予測や、季節・地域ごとの消費パターンの理解を求めていました。また、機械学習による洞察をビジネスインテリジェンス(BI)ダッシュボード内で直接表示し、意思決定のスピード向上につなげたいと考えていました。
しかし、組織にはこれらのニーズを支える十分なデータサイエンスのリソースがありませんでした。新しい予測や分析の依頼が来るたびにエンジニアや ML 専門家の介入が必要となり、開発サイクルは長期化し、実験的な試行も制限されていました。
この状況から明確な課題が見えてきました。ビジネスユーザーは「何を問い、どのデータを使うか」を理解していましたが、自分たちで予測モデルを構築・反復する具体的な手段を持っていませんでした。さらに、予測結果が得られた後には、ステークホルダーと対話型のダッシュボードを通じて洞察を可視化・共有する方法も必要でした。
新たな複雑な ML パイプラインを導入するのではなく、機械学習をビジネスチームにより身近に届けるアプローチが必要でした。その手段は、既存の Snowflake データとネイティブに連携し、慣れ親しんだ BI ツールで予測結果を可視化でき、ガバナンスやセキュリティを損なうことなく専門リソースへの依存度を下げるものでなければなりませんでした。
これらの要件から、自然な次のステップとして、可視化機能を備えたノーコード型機械学習アプローチが浮上しました。
ソリューションの概要
データに富む環境と、洞察を渇望するビジネスチームの間のギャップを埋めるため、本記事では Amazon SageMaker Canvas を基盤としたノーコードの機械学習ワークフローを紹介していきます。既存のデータインフラを置き換えるのではなく、このアプローチは非技術者のユーザーにも機械学習へのアクセスを提供し、予測結果を可視化ツールに直接接続することで、Snowflake への投資価値を最大化します。
Amazon SageMaker Canvas は直感的なビジュアルインターフェースを提供し、Snowflake に直接接続できます。これにより、データの準備から機械学習モデルの構築、予測の実行までを一貫して行えます。モデルのトレーニングが完了したら、Canvas のモデル詳細ページから Amazon SageMaker Endpoint へ直接デプロイ可能です。インフラ構成の手間は不要です。
エンドポイントのステータスが「In service(稼働中)」になったら、Snowflake のトランザクションデータに対して予測を実行します。Amazon QuickSight で結果を可視化するには、Canvas のバッチ予測機能を使用して、スコアリングされたデータを Amazon Simple Storage Service (Amazon S3) へ出力してください。Amazon QuickSight はインタラクティブなダッシュボードを通じてこれらの洞察を可視化し、カスタムパイプラインやデータサイエンティストの介入なしに、組織内のすべてのステークホルダーが機械学習駆動型の予測を利用できるようにします。

図 1: Snowflake から Amazon SageMaker Canvas を経由し、Amazon QuickSight のダッシュボードへ至るデータフローを示すエンドツーエンドのアーキテクチャ
このアーキテクチャは、以下のような重要なメリットを提供します。
- コーディングの専門知識がなくてもセルフサービスでモデルを構築できるため、機械学習へのアクセスを民主化できます。詳細はこちら
- 300 種類以上の視覚的変換機能(Data Wrangler 搭載)を活用したデータ準備の簡素化と、エンタープライズレベルのガバナンス維持を両立します。
- モデル開発期間を数ヶ月から数時間に短縮し、インサイト獲得までの時間を劇的に加速させます。
- Amazon SageMaker のマネージドインフラ上でトレーニングを実行できます。
- Amazon QuickSight ダッシュボード を介して予測結果をインタラクティブに可視化できます。
- 回帰、分類、時系列予測など複数の機械学習タイルに対応し、単一のソリューションで多様なビジネス課題を解決します。
技術的な実装
このセクションでは、サンプルの不正検出データを用いて Snowflake 環境を設定する具体的な手順を解説します。
事前準備
以下の前提条件を満たしていることを確認してください。
- AWS アカウント
- Snowflake アカウント。Snowflake アカウントの作成手順については、Snowflake フリートライアルアカウントの作成 を参照してください。
Snowflake データベースのセットアップ
- Snowflake データベースを作成するには、Snowflake コンソールの左側パネルにあるプラス記号 (+) を選択し、SQL ワークシートをクリックします。
- 空白の SQL ファイルが開きます。以下の SQL コマンドをコピーしてワークシートに貼り付け、実行 (Run) ボタンを押してください。
-- Create database and warehouse
USE ROLE accountadmin;
CREATE OR REPLACE WAREHOUSE HOL_WH WITH WAREHOUSE_SIZE='X-SMALL';
CREATE OR REPLACE DATABASE FRAUD;
-- Use the database
USE DATABASE FRAUD;
-- Create the final fraud table with proper data types
CREATE OR REPLACE TABLE FRAUD.PUBLIC.FRAUD_TABLE (
id NUMBER,
trans_date_trans_time TIMESTAMP_NTZ(9),
cc_num NUMBER,
merchant VARCHAR,
category VARCHAR,
amt NUMBER(38,2),
first VARCHAR,
last VARCHAR,
gender VARCHAR,
street VARCHAR,
city VARCHAR,
state VARCHAR,
zip NUMBER,
lat NUMBER(38,15),
long NUMBER(38,14),
city_pop NUMBER(38,0),
job VARCHAR,
dob DATE,
trans_num VARCHAR,
unix_time NUMBER,
merch_lat NUMBER(38,15),
merch_long NUMBER(38,14),
is_fraud NUMBER
);
-- Generate sample fraud detection data for 2020
INSERT INTO FRAUD.PUBLIC.FRAUD_TABLE
WITH raw_data AS (
SELECT
ROW_NUMBER() OVER (ORDER BY SEQ4()) as id,
DATEADD(minute, UNIFORM(0, 525600, RANDOM()), '2020-01-01 00:00:00'::TIMESTAMP_NTZ) as trans_date_trans_time,
UNIFORM(1, 1000, RANDOM()) as cc_num,
CONCAT('merchant_', UNIFORM(1, 500, RANDOM())) as merchant,
CASE UNIFORM(1, 14, RANDOM())
WHEN 1 THEN 'grocery_pos'
WHEN 2 THEN 'gas_transport'
WHEN 3 THEN 'shopping_net'
WHEN 4 THEN 'shopping_pos'
WHEN 5 THEN 'food_dining'
WHEN 6 THEN 'entertainment'
WHEN 7 THEN 'personal_care'
WHEN 8 THEN 'health_fitness'
WHEN 9 THEN 'travel'
WHEN 10 THEN 'kids_pets'
WHEN 11 THEN 'home'
WHEN 12 THEN 'misc_net'
WHEN 13 THEN 'misc_pos'
ELSE 'other'
END as category,
ROUND(UNIFORM(1, 1000, RANDOM()) + UNIFORM(0, 99, RANDOM())/100, 2) as amt,
CONCAT('FirstName', UNIFORM(1, 1000, RANDOM())) as first,
CONCAT('LastName', UNIFORM(1, 1000, RANDOM())) as last,
CASE UNIFORM(0, 1, RANDOM()) WHEN 0 THEN 'M' ELSE 'F' END as gender,
CONCAT(UNIFORM(1, 9999, RANDOM()), ' Main St') as street,
CASE UNIFORM(1, 10, RANDOM())
WHEN 1 THEN 'New York' WHEN 2 THEN 'Los Angeles' WHEN 3 THEN 'Chicago'
WHEN 4 THEN 'Houston' WHEN 5 THEN 'Phoenix' WHEN 6 THEN 'Philadelphia'
WHEN 7 THEN 'San Antonio' WHEN 8 THEN 'San Diego' WHEN 9 THEN 'Dallas'
ELSE 'San Jose'
END as city,
CASE UNIFORM(1, 10, RANDOM())
WHEN 1 THEN 'NY' WHEN 2 THEN 'CA' WHEN 3 THEN 'IL' WHEN 4 THEN 'TX'
WHEN 5 THEN 'AZ' WHEN 6 THEN 'PA' WHEN 7 THEN 'TX' WHEN 8 THEN 'CA'
WHEN 9 THEN 'TX' ELSE 'CA'
END as state,
UNIFORM(10000, 99999, RANDOM()) as zip,
ROUND(UNIFORM(25.0, 49.0, RANDOM()) + UNIFORM(0, 999999, RANDOM())/1000000, 15) as lat,
ROUND(UNIFORM(-125.0, -65.0, RANDOM()) + UNIFORM(0, 99999999999999, RANDOM())/100000000000000, 14) as "LONG",
UNIFORM(10000, 5000000, RANDOM()) as city_pop,
CONCAT('Job_Title_', UNIFORM(1, 100, RANDOM())) as job,
DATEADD(year, -UNIFORM(18, 80, RANDOM()), '2020-12-01'::DATE) as dob,
CONCAT('trans_', LPAD(ROW_NUMBER() OVER (ORDER BY SEQ4()), 10, '0')) as trans_num,
DATEDIFF(second, '1970-01-01', DATEADD(minute, UNIFORM(0, 44640, RANDOM()), '2020-12-01 00:00:00'::TIMESTAMP_NTZ)) as unix_time,
ROUND(UNIFORM(25.0, 49.0, RANDOM()) + UNIFORM(0, 999999, RANDOM())/1000000, 15) as merch_lat,
ROUND(UNIFORM(-125.0, -65.0, RANDOM()) + UNIFORM(0, 99999999999999, RANDOM())/100000000000000, 14) as merch_long
FROM TABLE(GENERATOR(ROWCOUNT => 139538))
)
SELECT
id, trans_date_trans_time, cc_num, merchant, category, amt,
first, last, gender, street, city, state, zip, lat, "LONG",
city_pop, job, dob, trans_num, unix_time, merch_lat, merch_long,
CASE
WHEN category IN ('shopping_net', 'misc_net') AND amt > 700
AND UNIFORM(0, 100, RANDOM()) 800
AND UNIFORM(0, 100, RANDOM()) 900 AND EXTRACT(HOUR FROM trans_date_trans_time) BETWEEN 0 AND 4
AND UNIFORM(0, 100, RANDOM()) 400 AND amt <= 700
AND UNIFORM(0, 100, RANDOM()) < 12 THEN 1
WHEN EXTRACT(HOUR FROM trans_date_trans_time) BETWEEN 0 AND 3
AND UNIFORM(0, 100, RANDOM()) < 3 THEN 1
ELSE 0
END as is_fraud
FROM raw_data;- 次に、各サブセクションを個別に選択し、実行 (Run) を順次クリックして一つずつ実行します。
- クエリが正常に完了したら、以下の検証クエリを実行してセットアップを確認してください。
SELECT COUNT(*) as total_records FROM FRAUD_TABLE;
SELECT TOP 10 * FROM FRAUD_TABLE;
SELECT is_fraud, COUNT(*) as count FROM FRAUD_TABLE GROUP BY is_fraud;- Snowflake から Amazon SageMaker Canvas へ接続するために必要な情報を収集します。この接続には、Snowflake の組織名とアカウント名をハイフンで結合した「組織アカウント名」が必要です。ワークシート内の SQL クエリを実行して、組織アカウント名を確認してください。
SELECT CURRENT_ORGANIZATION_NAME()||'-'||CURRENT_ACCOUNT_NAME() AS organizaton_account_name;結論
本シリーズ全 3 部の第 1 部では、データに富む Snowflake 環境を持つ組織が直面するビジネス課題と、ノーコードで構築できる機械学習ワークフローについて解説しました。ここでは Snowflake データベースの作成、サンプルとなる不正検出データの読み込み、そして次のステップに必要な接続情報の取得を行いました。
パート 2 では、Amazon SageMaker Canvas を Snowflake のデータに接続し、ビジュアルツールを使ってデータを準備・変換した後、不正検出モデルを構築します。
リンク集
執筆者について

Anu Kaggadasapura Nagaraja
Anu は AWS のヘルスケア・ライフサイエンス(HCLS)ソリューションアーキテクト II です。AI、生成 AI、機械学習の専門分野で 6 年以上の経験を持ち、多様な業界の組織がスケーラブルなクラウド駆動型ソリューションを構築できるよう支援しています。Anu は、モダンなデータプラットフォームやエージェント型 AI アーキテクチャ、そして新興のクラウド技術を通じて AI のイノベーションを推進することに注力しています。仕事以外ではバドミントンやハイキングを楽しんでいます。

Aysha Siddiqui
Aysha は Amazon Web Services のソリューションアーキテクトです。企業顧客と連携し、スケーラブルで耐障害性の高いクラウドアーキテクチャの設計を支援しています。AI/ML や生成 AI に情熱を持ち、組織がこれらのワークロードを実験段階から本番運用へ移行できるようサポートすることに注力しています。趣味は旅行と、抹茶作りの上達です。

Shruti Tambe
Shruti も AWS のソリューションアーキテクトで、中小企業(SMB)の顧客がクラウド上で製品を構築・スケールできるよう支援しています。組織と協力してクラウドアーキテクチャの設計、モダナイゼーション、AI 導入を進め、意味のあるビジネス成果の実現を目指します。空闲時間にはハイキングやランニングを楽しんでいます。
原文を表示
Healthcare, retail, and life sciences organizations generate massive quantities of operational data in cloud data warehouses like Snowflake. While these systems store and scale information efficiently, transforming that data into meaningful predictions remains a challenge. Traditional machine learning (ML) approaches require specialized teams, long development cycles, and heavy engineering support, creating delays and limiting experimentation for the business users who understand the data best.
A no-code ML workflow changes that dynamic.
With Amazon SageMaker Canvas, you can explore datasets, prepare features, build predictive models, and generate insights visually without writing code and without depending on data science resources. Business analysts, product owners, and operational teams can accelerate decision-making while maintaining enterprise security and governance.
This is Part 1 of a three-part series. Part 1 covers setting up your AWS account and Snowflake environment. Part 2 connects Amazon SageMaker Canvas to Snowflake to prepare data and build a fraud detection model. Part 3 sends predictions to Amazon Quick to create interactive dashboards and share insights with stakeholders.
Business challenge
This solution was inspired by a real healthcare organization that had accumulated years of operational data in Snowflake including sales transactions, product movement, patient interactions, and regional performance metrics. While the data foundation was robust, turning that data into predictive insights remained a challenge.
Business teams wanted to forecast demand across multiple product categories, understand seasonal and regional consumption patterns, and surface ML-driven insights directly within business intelligence (BI) dashboards to support faster decisions. However, the organization lacked sufficient data science capacity to support these needs. Every new forecasting or analytics request required engineering or ML specialists, resulting in long development cycles and limited experimentation.
This created a clear gap: business users understood the questions and the data but didn’t have a practical way to build and iterate on predictive models themselves. Additionally, after predictions were generated, organizations needed a way to visualize and share these insights with stakeholders through interactive dashboards. Rather than introducing yet another complex ML pipeline, the organization needed an approach that could bring machine learning closer to business teams. That approach had to work natively with existing Snowflake data, visualize predictions through familiar BI tools, and reduce dependency on specialized resources without compromising governance or security.
These requirements naturally pointed toward a no-code machine learning approach integrated with visualization capabilities as the next step.
Solution overview
To bridge the gap between data-rich environments and insight-starved business teams, this post walks you through a no-code ML workflow built on Amazon SageMaker Canvas. Rather than replacing your existing data infrastructure, this approach extends the value of your Snowflake investments by making machine learning accessible to non-technical users and connecting predictions directly to visualization tools.
Amazon SageMaker Canvas provides an intuitive, visual interface that connects directly to Snowflake, so you can prepare data, build machine learning models, and generate forecasts. After you train your model, deploy it to Amazon SageMaker Endpoint directly from the Canvas model details page, with no infrastructure configuration required. When the endpoint status shows In service, generate predictions on your Snowflake transaction data. To visualize results in Amazon Quick, use batch predictions in Canvas to output the scored dataset to Amazon Simple Storage Service (Amazon S3). Amazon Quick visualizes these insights through interactive dashboards, making ML-driven forecasts accessible to stakeholders across your organization without custom pipelines or data-science intervention.

Figure 1: End-to-end architecture showing data flow from Snowflake through Amazon SageMaker Canvas to Amazon Quick Sight dashboards
This architecture delivers key benefits:
- Democratized access to ML through self-service model building without coding expertise.
- Simplified data preparation with over 300 visual transformations powered by Data Wrangler while maintaining enterprise governance.
- Accelerated time-to-insight by reducing model development from months to hours.
- Training on the managed infrastructure of Amazon SageMaker.
- Interactive visualization of predictions through Amazon Quick Sight dashboards.
- Support for multiple ML problem types including regression, classification, and time-series forecasting to address diverse business questions from a single solution.
Technical implementation
This section walks through the hands-on steps to configure your Snowflake environment with sample fraud detection data.
Prerequisites
Make sure that you have the following prerequisites.
- An AWS account.
- Snowflake account. For steps to create a Snowflake account, refer to Create a Snowflake Free Trial Account.
Snowflake database setup
- To create a Snowflake database, in the left-side panel of the Snowflake console, choose the plus sign (+), and then choose SQL worksheet.
- A blank SQL file opens. Copy and paste the following SQL commands into the worksheet and choose Run.
-- Create database and warehouse
USE ROLE accountadmin;
CREATE OR REPLACE WAREHOUSE HOL_WH WITH WAREHOUSE_SIZE='X-SMALL';
CREATE OR REPLACE DATABASE FRAUD;
-- Use the database
USE DATABASE FRAUD;
-- Create the final fraud table with proper data types
CREATE OR REPLACE TABLE FRAUD.PUBLIC.FRAUD_TABLE (
id NUMBER,
trans_date_trans_time TIMESTAMP_NTZ(9),
cc_num NUMBER,
merchant VARCHAR,
category VARCHAR,
amt NUMBER(38,2),
first VARCHAR,
last VARCHAR,
gender VARCHAR,
street VARCHAR,
city VARCHAR,
state VARCHAR,
zip NUMBER,
lat NUMBER(38,15),
long NUMBER(38,14),
city_pop NUMBER(38,0),
job VARCHAR,
dob DATE,
trans_num VARCHAR,
unix_time NUMBER,
merch_lat NUMBER(38,15),
merch_long NUMBER(38,14),
is_fraud NUMBER
);
-- Generate sample fraud detection data for 2020
INSERT INTO FRAUD.PUBLIC.FRAUD_TABLE
WITH raw_data AS (
SELECT
ROW_NUMBER() OVER (ORDER BY SEQ4()) as id,
DATEADD(minute, UNIFORM(0, 525600, RANDOM()), '2020-01-01 00:00:00'::TIMESTAMP_NTZ) as trans_date_trans_time,
UNIFORM(1, 1000, RANDOM()) as cc_num,
CONCAT('merchant_', UNIFORM(1, 500, RANDOM())) as merchant,
CASE UNIFORM(1, 14, RANDOM())
WHEN 1 THEN 'grocery_pos'
WHEN 2 THEN 'gas_transport'
WHEN 3 THEN 'shopping_net'
WHEN 4 THEN 'shopping_pos'
WHEN 5 THEN 'food_dining'
WHEN 6 THEN 'entertainment'
WHEN 7 THEN 'personal_care'
WHEN 8 THEN 'health_fitness'
WHEN 9 THEN 'travel'
WHEN 10 THEN 'kids_pets'
WHEN 11 THEN 'home'
WHEN 12 THEN 'misc_net'
WHEN 13 THEN 'misc_pos'
ELSE 'other'
END as category,
ROUND(UNIFORM(1, 1000, RANDOM()) + UNIFORM(0, 99, RANDOM())/100, 2) as amt,
CONCAT('FirstName', UNIFORM(1, 1000, RANDOM())) as first,
CONCAT('LastName', UNIFORM(1, 1000, RANDOM())) as last,
CASE UNIFORM(0, 1, RANDOM()) WHEN 0 THEN 'M' ELSE 'F' END as gender,
CONCAT(UNIFORM(1, 9999, RANDOM()), ' Main St') as street,
CASE UNIFORM(1, 10, RANDOM())
WHEN 1 THEN 'New York' WHEN 2 THEN 'Los Angeles' WHEN 3 THEN 'Chicago'
WHEN 4 THEN 'Houston' WHEN 5 THEN 'Phoenix' WHEN 6 THEN 'Philadelphia'
WHEN 7 THEN 'San Antonio' WHEN 8 THEN 'San Diego' WHEN 9 THEN 'Dallas'
ELSE 'San Jose'
END as city,
CASE UNIFORM(1, 10, RANDOM())
WHEN 1 THEN 'NY' WHEN 2 THEN 'CA' WHEN 3 THEN 'IL' WHEN 4 THEN 'TX'
WHEN 5 THEN 'AZ' WHEN 6 THEN 'PA' WHEN 7 THEN 'TX' WHEN 8 THEN 'CA'
WHEN 9 THEN 'TX' ELSE 'CA'
END as state,
UNIFORM(10000, 99999, RANDOM()) as zip,
ROUND(UNIFORM(25.0, 49.0, RANDOM()) + UNIFORM(0, 999999, RANDOM())/1000000, 15) as lat,
ROUND(UNIFORM(-125.0, -65.0, RANDOM()) + UNIFORM(0, 99999999999999, RANDOM())/100000000000000, 14) as "LONG",
UNIFORM(10000, 5000000, RANDOM()) as city_pop,
CONCAT('Job_Title_', UNIFORM(1, 100, RANDOM())) as job,
DATEADD(year, -UNIFORM(18, 80, RANDOM()), '2020-12-01'::DATE) as dob,
CONCAT('trans_', LPAD(ROW_NUMBER() OVER (ORDER BY SEQ4()), 10, '0')) as trans_num,
DATEDIFF(second, '1970-01-01', DATEADD(minute, UNIFORM(0, 44640, RANDOM()), '2020-12-01 00:00:00'::TIMESTAMP_NTZ)) as unix_time,
ROUND(UNIFORM(25.0, 49.0, RANDOM()) + UNIFORM(0, 999999, RANDOM())/1000000, 15) as merch_lat,
ROUND(UNIFORM(-125.0, -65.0, RANDOM()) + UNIFORM(0, 99999999999999, RANDOM())/100000000000000, 14) as merch_long
FROM TABLE(GENERATOR(ROWCOUNT => 139538))
)
SELECT
id, trans_date_trans_time, cc_num, merchant, category, amt,
first, last, gender, street, city, state, zip, lat, "LONG",
city_pop, job, dob, trans_num, unix_time, merch_lat, merch_long,
CASE
WHEN category IN ('shopping_net', 'misc_net') AND amt > 700
AND UNIFORM(0, 100, RANDOM()) 800
AND UNIFORM(0, 100, RANDOM()) 900 AND EXTRACT(HOUR FROM trans_date_trans_time) BETWEEN 0 AND 4
AND UNIFORM(0, 100, RANDOM()) 400 AND amt <= 700
AND UNIFORM(0, 100, RANDOM()) < 12 THEN 1
WHEN EXTRACT(HOUR FROM trans_date_trans_time) BETWEEN 0 AND 3
AND UNIFORM(0, 100, RANDOM()) < 3 THEN 1
ELSE 0
END as is_fraud
FROM raw_data;- Then select each subsection separately and run them one by one by choosing Run.
- After the queries run successfully, confirm the setup by running the following verification queries.
SELECT COUNT(*) as total_records FROM FRAUD_TABLE;
SELECT TOP 10 * FROM FRAUD_TABLE;
SELECT is_fraud, COUNT(*) as count FROM FRAUD_TABLE GROUP BY is_fraud;- Gather the information needed to connect from Snowflake to Amazon SageMaker Canvas. The connection requires the Snowflake organization account name, which combines the Snowflake organization name and account name with a hyphen. Run the SQL query in the worksheet to determine the organization account name.
SELECT CURRENT_ORGANIZATION_NAME()||'-'||CURRENT_ACCOUNT_NAME() AS organizaton_account_name;まとめ
In this first part of the three-part series, you explored the business challenge facing organizations with data-rich Snowflake environments and introduced a no-code ML workflow. You created a Snowflake database, loaded sample fraud detection data, and retrieved the connection details needed for the next steps.
In Part 2, you connect Amazon SageMaker Canvas to Snowflake data, prepare and transform the dataset using visual tools, and build a fraud detection model.
References
- Part 2 – Build a no-code ML workflow with Snowflake, Amazon SageMaker Canvas and Amazon Quick – Part 2: Data preparation and model building with Amazon SageMaker Canvas
- Part 3 – Build a no-code ML workflow with Snowflake, Amazon SageMaker Canvas and Amazon Quick – Part 3: Visualizing insights with Amazon Quick Sight
About the authors

Anu Kaggadasapura Nagaraja
Anu is a Healthcare and Life Sciences (HCLS) Solutions Architect II at AWS with more than six years of experience specializing in AI, generative AI, and machine learning. She helps organizations across multiple industries build scalable, cloud-driven solutions. Anu focuses on AI innovation through modern data platforms, agentic AI architectures, and emerging cloud technologies. Outside of work, Anu enjoys playing badminton and hiking.

Aysha Siddiqui
Aysha is a Solutions Architect at Amazon Web Services, where she partners with enterprise customers to design scalable, resilient cloud architectures. She is passionate about AI/ML and generative AI, and focuses on helping organizations move these workloads from experimentation to production. Outside of work, she enjoys traveling and perfecting her matcha-making skills.

Shruti Tambe
Shruti is a Solutions Architect at AWS, where she helps SMB customers to build and scale their products on cloud. She works with organizations on cloud architecture design, modernization, and AI adoption to drive meaningful business outcomes. In her free time, Shruti enjoys hiking and running.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み