1. はじめに 前回投稿しました「SAS/ACCESSのご紹介とSnowflakeとの連携デモ」はご覧になったでしょうか。SASと外部のデータストレージサービスを連携する「SAS/ACCESS」のご紹介と、実際に「Snowflake」というサービスに連携してみました。今回は、その続きとして、10年以上前からビッグデータ・アナリティクスの基本アーキテクチャである、In-Database機能の代表的な機能である、SQLパススルーという機能をご説明し、デモを準備しました。 2. SQLパススルーについて SAS/ACCESS がインストールされている場合、SQLパススルーを使用してデータストレージサービスにクエリできます。接続方法に応じてSQLパススルーは、「暗黙的パススルー」と「明示的パススルー」に分けることができます。 暗黙的パススルーの価値は、作成したSASコードが自動的にデータストレージサービスが処理できるSQLに変換され、そのSQLをデータストレージサービス側に与えることにあります。ですので、SASで実行されたSQLやSASプロシジャに指定されたWHERE句など、可能な限りデータストレージサービス側で処理を行い、結果だけをSAS側に転送することが可能です。一方、明示的パススルーの場合には、DB依存のSQLを明示的に記述することできます。暗黙的パススルーと明示的パススルーについてまとめた表を下に記載していますので、ご覧ください。今回は、暗黙的パススルーについて詳しくご紹介したいと思います。 ▲SAS CommunityでSQL Pass throughについて質問するユーザー 暗黙的パススルーを使用する方が良いか、明示的パススルーを使用するのが良いのか気になるかと思います。実はこのトピックは、SAS Communityでもよく見られ、SAS/ ACCESSを使用している全世界のユーザーにとっても気になる質問です。どちらを使用するかは、どこに基準を置くか、また、SASとデータストレージサービスの環境のスペックによって異なると思います。ですので、皆さんもこのような疑問が生じた場合は、SASに相談してみてはいかがでしょうか。 3. 暗黙的パススルーのデモ 3-1. データの紹介とデモの概要 今回のデモのために、「pets」と「owners」という名前で2つのテーブルをデータストレージサービス(今回は、Snowflake)側に事前に保存しておきました。 「pets」テーブルには、3つのカラムがあります。 Id: ペット固有のid Name: ペットの名前 Type: ペットの種類(犬、猫、その他) Id Name Type 1 オオビ 犬 2 ローザ 猫 3 ワンチャン その他 … … … もう1つのテーブル「owners」にも3つのカラムがあります。 Id: オーナー固有のid Name: オーナーの名前
Tag: in-database
TL;DR The next time that you find yourself writing a PROC SORT step, verify that you're working with the SAS Base engine and not a database. If your data is in a database, skip the SORT! The details: When to skip the PROC SORT step Many SAS procedures allow you
Some recent press articles question the value of big data while a book takes the opposite approach; I’ll choose the middle way. The New York Times article ‘Is Big Data an Economic Big Dud?’ questions the value of digital data and the resulting increase in the amount of data. This
On this blog, I've delivered a few tips about using SAS formats to stratify your data values "in place" without having to actually change your data. The most recent example addressed date and datetime variables. My previous examples included simple SAS programs that you can run in SAS display manager
In a recent Dr. Dobb's Journal piece, Jim Starkey (senior architect for MySQL ) acknowledges that it's time to embed the power of applications within databases, instead of the other way around. Jim says (italics added by me): I think we can agree that context switches or network round trips