テクノロジー

Analytics | Data Management
小林 泉 0
ようこそ古くて新しいデータマネージメントの世界へ~カギは自由と統制

ようこそ古くて新しいデータマネージメントの世界へ 2023年、DMBOK(データマネージメントの知識体系を網羅的にまとめたもの)という用語を改めて聞く機会が多くなりました。おそらくこれはアナリティクス(データ分析に基づくより良い意思決定の実践)の近年のブームで、新たにアナリティクス活用に踏み出し、ようやくビジネスに直結する使い方をするようになった企業・組織があらためてデータマネージメントの重要性に気付き始めたからだろうと推察します。 また一方で、クラウドシフトに伴いクラウドストレージの活用とともに、これまで蓄積していなかったデータを蓄積し始めたり、これまでのデータウェアハウスを一新する形で、データレイク/データウェアハウスを再構築するなど、従来からアナリティクスを活用していた企業もまた同様に、データマネージメントについて改めて考えているようです。 20年以上前からアナリティクスを競争優位の源泉としていた企業では、データマネージメントが大きな一つの関心ごとでした。その後、テクノロジーの進化によって、ソースデータのビッグデータ化(Volume, Variety and Velocity)や、ストレージ技術の進化、そしてアナリティクス・プラットフォームの進化によってITシステムに対するビジネスニーズも変化しました。また、消費者市場の変化や、データサイエンス人材の爆発的な増加といった市場の変化も目覚ましいものがあります。このような変化の中、近年あらたにアナリティクスの活用に踏み出しはじめた多くの企業だけでなく、従来、競争優位の源泉にしてきた高成熟度企業においても、データマネージメントの課題への遭遇と解決にむけて取り組んでいます。 いきなりですが、もっとも頻繁にお伺いする課題について 過去も今もお客様から聞く課題で最も多いのは、「作ったけど使われないデータウェアハウスやデータマート」です。そもそも、使われる/使われないというクライテリアそのものをもう少し注意深く定義する必要はあるとは思いますが、ITシステム部門主導で利用目的をないがしろにしたデータ基盤構築プロジェクトは往々にしてそのような結果になるようです。例えば、ITシステムサイドの都合で蓄積データの種類・期間や粒度を決めてしまうことで、データ分析要件を満たさないという結果になったり、データの出自や性質・品質や使い方のガイドがないために、データはそこにちゃんとあるのにユーザーから利用を敬遠され、別の独自のデータが作り出されたり、作成の要求が来たりしてしまいます。本ブログでは、このような結果に陥らないために意識すると良いと思われることをお伝えしていきます。 もっとも簡略化したデータマネージメントの歴史 アナリティクスに特化したデータマネージメント考察の第一期ーHadoopの到来 2015年以前はダッシュボードや定型レポート、一部の大規模なデータ分析処理用にRDBMSやデータベースアプライアンスが構えられるのみで、アナリティクス用途としてはSASデータセットやフラットファイルでの運用が主でした。これはアナリティクス的なデータ加工および統計解析・機械学習ワークロードに適したテクノロジーが世のなかにはあまりなかったからです。Hadoopの登場により、アナリティクス用途でのデータ活用が一気に拡大し、パフォーマンスやスケーラビリティの制約から解放されました。一方で、従来のように目的を先に決めてデータマートを先に設計してという方法では、アナリティクスによる効果創出が最大化されないという課題も見えてきました。このHadoopの登場は、アナリティクスのためのデータマネージメントの変革の最初のタイミングだったと思います。詳しくは2015の筆者のブログをご興味があればご参照ください。 アナリティクスの効果を最大化するデータマネージメント勘所 Hadoopだからこそ必要なセルフサービス-そしてアダプティブ・データマネジメントの時代へ データマネージメント第二期ークラウドデータベースへのシフト 2015年以降のAIブームによりアナリティクス市場が一気に拡大するとともに、アナリティクスをビジネス上の収益向上、コスト削減、リスク管理に役立てている企業では、データマネージメントの話題が再熱しています。不思議なのは、いや、多くの企業の機能別組織構造では仕方ないのですが、アナリティクスのために良かれと思って取り組んでいるデータマネージメントの課題は、多くのケースで、最終的にアナリティクスを活用して企業の経営に役立てるという目的が忘れ去られてしまいます。 そもそも、アナリティクスのためのデータマネージメントの目的 ともすると手段が目的化しがちなのがITシステムのプロジェクトです。まず、アナリティクスのためのデータマネージメントに何が求められているかを改めて掲げてみますが、そのまえに、そもそもデータマネージメントが課題になるのは、なぜでしょうか? ここでは昔も今もその構図が変わっていない世のなかの状況について共有します。 なぜ、データマネージメントタスクに80%も費やしていのでしょうか。ビジネスにおけるデータ分析の多くは、そもそも実験計画やマーケティング調査とは異なり目的に対してデータを生成・収集しているわけではありません。多くのケースでは、目的に対してそもそもその目的用に計画したわけではないが入手可能なデータを無理やり当てはめています。この目的と手段のギャップを埋める作業が非常に多くの時間とコストを要します。たとえば以下の例で考えてみてください。 製造業において生産設備の中の状態を正確に理解したいが、技術的・コスト的な制約で限定的な精度のセンサーを限定的な場所に設置して、状態の一部を前提条件付きで収集したデータを使うしかない 顧客の購買ニーズを知りたいのだが、店舗ごとの実験は難しいので、欠品情報や潜在的なニーズが表現されていない、過去の活動の結果というバイアス付きのPOSデータを使うしかない このように目的外で収集されたデータを、ある特定の目的のために使えるように評価・加工しなければいけないので、多くの時間をこのデータ準備に割く必要が生じてきます。 では、データマネージメントの取り組みはどこを目指せば良いでしょうか?データ分析者のため、を考えると必然的に以下のポイントが浮かび上がります。 目的に沿ったデータを準備すること データ分析による意思決定において、社会的責任とビジネス上の意思決定の精度を高めるため、品質を担保し、バイアスを理解し、データの生成過程(入力バイアスや基幹システム仕様と業務ルール)を理解し、適切な利用方法を確認する SQLだけでは非生産的な自由自在なデータ加工 データはその利用手法すなわち、統計解析、機械学習、ディープラーニング、自然言語解析、画像解析などによって、手法や使用ツールの仕様に応じて、また、処理パフォーマンスの観点も含めて、自由自在に加工する必要がある ビジネススピードを阻害しないパフォーマンスや処理時間 アナリティクスを競争優位に活用している企業では、24/365常に様々なデータ加工処理が、バッチ、リアルタイム、オンラインで実行されている。これら様々なワークロードを優先度とコスト効率よく、ITシステム部門が特別なチューニングやスケジューリングや、エラーによる再実行をしなくとも、業務スピードに合わせたパフォーマンスで、安定して実行可能な基盤が不可欠 データマネージメントの取り組みで失敗に陥りやすい行動 前述の目的を簡単に言い換えると、データ分析者が何か課題を解決したいと思ってからがスタートで、そこからいかに短時間で正しいデータを特定し、評価し、加工して目的の形に持っていくかが大事であるということになります。つまり、データを物理的にどこに配置されているかに関わらず、データへのアクセス性、評価や加工の俊敏性などが需要であることになります。また、その理解に基づくと、以下のような取り組みはデータマネージメントの目的に沿っておらず、俊敏性や正確性、拡張性を損なう「硬直化」の原因になっていることが多く見うけられます。 「データ統合」を目的化してしまう 1つのデータベースに格納するデータの範囲を決めようとする 汎用的なデータモデルを設計しようとする 変化を前提としないマスタデータ統合をしようとする 変化し続けるビジネス状況のなか、管理対象のデータは常に変化し続けるため、これが「完成」というゴール設定での取り組みは、破綻します。ある大手製造業では何十年にもわたり「ある一つの固定的なゴール」を目指したマスタデータの整備を続けた結果ようやく「マスタデータは時代とビジネスに合わせて常に変化する」と気づき、当初のプロジェクトをストップさせた、という事例もあります。また、取得可能なデータはテクノロジーの進化によって変わります。後で使うかもしれないからと「念のため」蓄積を開始したデータであっても、5年後には使い物にならないデータかもしれません。 「データマートを整備」しようとする スナップショット的なニーズに対応するデータマートを作ろうとする 目的別データマートは目的ごとに存在するにもかかわらず、データマートが多数あることを問題視してしまう データマートの品質(正確性、一貫性、説明性)を気にしていない データマートを固定化するということは目的を固定化することに他なりません。一方でデータ分析を広めるということは、より多くの異なる目的に対してデータ分析を実践することで、矛盾しています。データマートが散在しているという課題感は、本質的にはデータマートがたくさんあることが問題なのではなく、そこでどのようなデータ分析が行われているのか、その品質すなわち、正確性・一貫性・説明性のガバナンスが効いてないことにあります。この本質的な課題解決は別の手段で解決すべきです。 「データ・ディクショナリを整備」しようとする データ分析者にとって良かれと思いITシステム側でスナップショット的なメタデータを定義する データ基盤開発初期にのみ、データ分析者からヒアリングしてメタデータを定義する データの出自、仕様、生成元の情報、使い方、品質、評価などの情報が管理されていない データ・ディクショナリを作ったけどデータ分析者にとって有用な情報が定義されていなかったり、継続的なメンテナンスがされなかったりすることがほとんどです。データ・ディクショナリの目的は、データ分析者により迅速にデータを特定・評価・利用してもらうことなので、その目的達成のためには、より有用な情報を異なる方法で蓄積・管理するべきです。 データマネージメント課題の解決の視点は、自由と統制 原理・原則および、網羅的な知識体系はDMBOKに体系的にまとめられているのでそれは頭に入れてください。そのうえで、データ分析によるビジネス価値創出のための、筆者の経験に基づくデータマネージメント課題の解決のためには、自由と統制のバランスをとることだと考えます。これにより、従来、繰り返しているデータマネージメントの失敗を乗り越え、自己組織的に育つ企業・組織のデータ分析文化の醸成にようやく一歩を踏み出せることになります。 データ分析者の自由度を最大化する(ITシステム部門がボトルネックにならないようにする) あらゆるデータソースに自由にアクセスできるようにする。データの種類や利用目的によって最適なデータ格納方法は変わる。どのような形式でデータが格納されていてもデータ分析ツールから自由にアクセスできるようにすることが重要

Analytics
データ分析効率化の秘訣:SAS ViyaとAzure Synapseの高速データ転送方法の紹介

1.背景 データ管理と分析の世界では、効率的かつ迅速なデータの転送と書き込みは極めて重要です。特に大規模なデータウェアハウスサービスを利用する際には、このプロセスの最適化が不可欠です。Azure Synapse Analyticsは、そのようなサービスの一つとして注目を集めており、SAS Viyaを使用する多くの企業やデータアナリストも、より効率的なデータハンドリングを追求しています。 SAS ViyaのユーザーはSAS/ACCESS to Microsoft SQL Serverを使用してAzure Synapseにデータを転送および書き込む際に、より高いデータ書き込み効率と転送速度を求めるのは当然です。データ処理能力をさらに強化し、書き込み効率を高めるために、SAS Access to SynapseのBulkLoad機能は非常に優れた選択肢です。BulkLoad機能はデータの書き込み速度を大幅に向上させるだけでなく、Azure Data Lake Storage Gen 2(以下、ADLS2と称する)を利用して、安定かつ安全なデータストレージおよび転送環境を提供します。 ただし、BulkLoad機能を使用する際にはADLS2の設定と構成が関わってくるため、構成および使用のプロセスが複雑に感じられたり、疑問が生じたりすることがあります。このブログの目的は、管理者およびユーザーに対して、明確なステップバイステップの設定プロセスを提供し、構成の過程で見落とされがちなキーポイントを強調することで、設定時の参考になるようにすることです。 以下は本記事内容の一覧です。読者は以下のリンクをで興味のあるセクションに直接ジャンプすることができます。 2.Bulkload機能について 3.BULKLOAD機能を利用するためのAzure側で必要なサービスの作成 3-1.Azure Data Lake Storage (ADLS) Gen2のストレージアカウントの作成 3-2.ストレージアカウントのデータストレージコンテナの作成 3-3.ストレージアカウントの利用ユーザー権限の設定 3-4.データ書き込み用のSASコードの実行 3-5.Azureアプリの設定 4.SAS Viya側の設定とAzure Synapseへの接続 4-1.SAS Studioでの設定 4-2.Azure SynapseのSQLデータベースをSASライブラリとして定義 4-3.Azure Synapseへデータの書き込み 2.Bulkload機能について なぜSAS ViyaがBulkload機能を使用してAzure Synapseに効率的にデータを書き込む際にADLS2サービスが必要なのか、そしてそのプロセスがどのように行われるのかを説明します。 Azure Synapse Analyticsは、柔軟性が高く、高いスループットのデータ転送を可能にするために、COPY

Analytics | Data Management
小林 泉 0
ガウディとサグラダ・ファミリアに学ぶデータ分析基盤アーキテクチャのための原則

前回の筆者ブログ「STEAM教育の進化にみるAI活用に必要な芸術家的思考」において、AI/アナリティクス時代に芸術家的思考が必要だという話をしました。今回はその派生で、AI/アナリティクス時代に作られるデータ分析基盤の作り方について、「時間をかけて大規模に創造する」という点で類似している建築物、そのなかでも、自然摂理・数学・幾何学と芸術を融合された象徴としてのサグラダ・ファミリアとその大部分の設計を担ったガウディの考え方に学んでみようと思います。 ガウディとサグラダ・ファミリアの特徴 終わりがなく常にその時代の人によって継承され・作り続けられる ガウディは、サグラダ・ファミリアを完成という終わりを目指さないものとして考えていたそうです。教会という性質や、建築費を寄付で賄うという性質もあり、またガウディが世の中に残したかった、「象徴」として、建築物の完成・利用されるというアウトカムではなく、時代時代の人々が建築に携わり続けることで象徴としての役割をもたらすことをアウトカムとしたということだと私は個人的に解釈します。これは、誰かが作ったものを使うという一方的な関係性を超え、インクルージョンすなわち関与するという関係性をもたらします。 サグラダ・ファミリアの建設はゆっくりと進む。 なぜなら、私のクライアント(神)は完成をお急ぎではないからだ by ガウディ 自然摂理と数学・幾何学に基づく美しさ サグラダ・ファミリアの棟の形は放物線です。ネックレスを想像してみてください。長さや幅を変えると様々な放物線になることが分かると思いますが、そのような「逆さ実験」を繰り返しそれをさかさまにしてあの様々な棟の形になっています。これは、ガウディが何事も自然法則に基づくべきという考えに基づいています。 放物面は幾何学すべての父 by ガウディ 継続のための象徴性の維持 サグラダ・ファミリアは建築費を寄付に依存しています。そのため継続的に人々・社会の関心を惹き続ける必要があります。 サグラダ・ファミリアの思想に学ぶ、活用されるデータ分析基盤アーキテクチャに役立つ原則 原則①レジリエンスー蓄積するデータは常に変化する 「どのようなデータを蓄積しておいたらいいですか?SASさんの経験に基づいて教えてください」 「いま取得できるデータを全部蓄積しようと思うんです。あとでどれが必要になるかわからないから」 このようなお話をよくお聞きします。データ活用ニーズはマーケットの変化、競合他社の変化などによって刻々と変化していくため、利用データのニーズを気にすることは浸透していますが、一方で見落としがちなのは以下の2点です。 過去のデータは過去しか表していない。たとえば売上データ一つとっても、それは過去の自社の行動・意思決定の結果でしかなく、役に立つときもあれば、目的によっては全く役に立たない場合もある。 今得られているデータや分析に利用できそうなデータは今のテクノロジーで得られうるデータ、今のテクノロジーで分析しうるというデータにすぎない。将来テクノロジーの進化によって、新しいデータ、新しいデータ粒度が取得できるようになったり、また分析テクノロジーの進化によって想定してなかったデータが利用価値を生み出したりする可能性もある。 この2つの前提にたつと、どのようなデータをためるべきかという議論が意味がないわけではありませんが、「それほど」意味がないということが分かると思います。それよりは、システムアーキテクチャの原則として、将来、データのVolume, Velocity, Veriety に対応できるように硬直化しないことに、より注意を払うことが重要です。また、蓄積しておいたデータが結果的に使われないということもあるかもしれませんが、そのこと自体を失敗としてシステムの価値評価としては用いるべきではありません。重要なことはそのような重要でないデータが認識されたときに素早くストレージコストを低減するようなアクションができるという俊敏性なのです。それは最近のはやり言葉でいうと、レジリエンスと言ってもいいかもしれません。 原則②アーキテクト担当は芸術家的思考が大事 筆者自身、これまでデータ分析基盤システムのアーキテクチャを何度も担当してきました。そしてアーキテクトを育てる際にいつも言っていた言葉があります。「アーキテクチャは機械的に決まるものではないよ。意思だよ意思。あなたがやりたいように決めていいんだよ」いま思うと、STEAM教育に新たに加えられた芸術家的思考を唱えていたことになります。もちろん基本的な知識や経験に基づいたうえでですが、なかなか自分勝手にアーキテクチャを決めていいと思っているアーキテクト担当者も多くなく、結果として、様々な過去のしがらみに忖度したスパゲッティ状態の新システムが出来上がることも少なくありません。そのような結果にならないためには、その企業・自分たちの組織・自分自身ととことん向き合って、全体アーキテクチャにその思いを込める、ということが重要になってきます。もちろんコーチとしてはこのアドバイスの仕方では不足でして、もっと言語化してアクショナブルにしないといけないとは思いますが。 0から独創性は生まれない by ガウディ 原則③アーキテクチャ図は美しく 図やダイアグラムで人に何かを伝えるためには、見る際にそれを阻害する雑音となる不要な情報を削り本当に必要な情報のみに研ぎ澄ますという最低限のことだけではなく、見たいという気持ちにさせたり、見てみようと思わせたり、ちゃんと見ようと思わせたり、あるいは言語的な情報理解だけではない、感情を引き起こさせることで正しく記憶されます。幾何学的な対称性などのバランスを整えることは、「本日はお集まりいただきありがとうございます」に匹敵する挨拶レベルの基本行動規範です。さらには、複雑なアーキテクチャと向き合う場合には、数学的・幾何学的な視点で眺めなおすことで、構成要素が変わらなくても、アーキテクチャ図としてのエントロピーを低減し、構造の整理をすることで、オーディエンスの正しい理解・伝達コストを低減することが可能です。また、そのようにできる限り美しさを追求することで、逆に多くの部分が視覚情報として自然なものとなる、すなわち無の情報となることで、本質的に最も注目すべきポイントにオーディエンスの目を向けさせることができます。 原則④アーキテクチャの思想定義が重要 これは、上述の芸術家的思考と関連しますが、いわゆる芸術作品を評価した文章のような、背景・アーキテクトの思いなどをシステム設計思想として言語化し文書化して受け継いでいくことが重要です。芸術作品と同じように、作品=システムだけでは、作者がどのように自己と向き合い、世の中を見て、どのような思想で創造したのかを把握することは難しいです。サグラダ・ファミリアは未完成部分のガウディによる設計書が失われたため、現在の関係者たちはガウディの思想に基づきながら設計をしています。同様に、データ分析基盤システムが変化し続ける中担当者は変わっていきますが、システムの変更・改修の際にその「思想」に基づくことで、一貫性・効率性・投資対効果・透明性を高めることができるでしょう。 原則⑤アーキテクチャの思想定義の象徴化が重要 象徴化というと小難しい印象になりますが、データ分析基盤の「モットー」や「ビジョン」を常に発信していくということです。最近筆者が耳にした良いなぁと思った例を2つほどご紹介します。この2つの例では、情報システム部門のトップが常にこのワードを取引先ベンダーにもユーザーサイドにも宣伝していることが重要です。あらゆるステークホルダーがこのモットー、ビジョン、象徴に軸足を置くことで、そこからさまざまな提案・理解が派生するものの、このシステムに対する取り組みを将来に向けて継続・推進することに大きく役立っています。 「システム部門がボトルネックにならないセルフサービス化」 昨今、セルフサービスばやりですが、このフレーズにはユーザー部門からの並々ならぬプレッシャーと、それにこたえることがIT部門の使命だという企業としての一体となったデータ活用戦略が表現されており、様々な提案活動・意思決定の原則として非常によく機能しています。これによってステークホルダーが一丸となって、同じ世界を目指し続けることを可能としています。 「バッチ処理だけではなく真のリアルタイム処理にも同時に対応したシステム」 ビジネスにおいては、常に新しい技術・知識を関連付けて新しい商品やサービス、ビジネスプロセス、市場を創造していく必要がありますが、ITやAI/アナリティクスが主役の昨今、情報システム部門がそのような新しい技術・知識をユーザー部門に提案することが、外部ベンダーに頼らず自社内でスピーディーにイノベーション・トランスフォーメーションしていくうえで重要になってきます。ITの観点でいち早く世界中の情報を収集し、新しい技術を試し、ユーザー部門からのリクエストにリアクティブに備えるというよりは、プロアクティブに提案していく、こうすることで、データ分析基盤の位置づけや価値を確固たるものにし、継続的な進化をするものとして、持続的な成長をしていくことが可能になります。 原則⑥走りながらの変化を前提とする 筆者は、芸術の創作活動に詳しくありませんが、想像するに芸術作品の多くは、ウォーターフォール型ではなくアジャイル型ではないでしょうか。下書きを何度も繰り返したり、小さな単位の作品を小出しにしたりしながら、最終的にそれらの集大成として一つの大きな創造物が作られることが多いように見受けられます。場合によっては、その時代時代のトレンドに左右されながら、その一連の創造活動が行われる場合もあります。何事もそうですが、アイディアはエクスポーズしてフィードバックを得ながらブラッシュアップすることが最短経路での最大効果を生み出すことが多いです。データ分析基盤も同様です。まずデータを蓄積してそれが完了したら使ってみるというのをシーケンシャルに行おうとするケースがいまだ散見されます。蓄積してみた直後に、「使いたいデータがなかった」という事件は実際に起きています。なので、これはお勧めしません。データの価値は蓄積ではなく活用して始めて判明するからです。使ってもらって修正して、というフィードバックループを早く回して軌道修正をこまめに繰り返しながら進むことが重要です。 あらためて、Think Big, Start Small アナリティクスの世界では古くからある使い古された原則です。以前は、データ活用成熟度が高い企業のみがアナリティクスへの投資に踏み出していたため、他に参考にする企業もあまりなく、弊社がグローバルの知見や海外の先進事例や経験に基づいてお手伝いをしながらも、お客様自身でとことん考えビジョンを掲げ、少しずつ成果を出しながら投資を継続しながら、適用ビジネス、人材、組織共に、徐々に規模を拡大していくというやり方が主流でした。つまり芸術家的思考がやはりその根底にあったと言えます。 一方で、昨今AIブームの中AI市場が急速に拡大し、多くの企業がデータ活用に踏み出しています。そのため巷では、成功例・失敗例があふれ、それを参考にすることで、データ分析のビジネス活用に、組織的・人材育成的、IT投資的に、何か初めから答えがあるかのような錯覚をし、自社をとことん見つめたうえでのビジョンがないままに、手段が目的化し、組織化や人材育成あるいはデータ統合基盤の構築からスタートしようとしているケースをよく見かけます。その結果、人材育成は出来たはずなのにデータ活用によるビジネスの成果につながっていなかったり、データ統合基盤は出来たのに使われていない、データサイエンス組織に人材は集めたが具体的なビジネス適用につながらないといった結果に陥っているケースも見られます。会社の戦略が、自社のXXXというコアコンピテンスに基づき、XXXのようにビジネスを変革する、というものではなく、単に「データドリブン組織になる」「データドリブン経営をしていく」という手段が目的化しているときに、そのような思わしくない状況になるようです。 データ分析基盤のアーキテクチャもそうですが、今一度終わりのないこのデータ活用の取り組みに、ガウディがサグラダ・ファミリアに込めた戦略=芸術家的思考を参考にし、企業・組織の血となり骨となるデータ活用の取り組みの位置づけを考えてみるのはいかがでしょうか。

Analytics | Data for Good | Learn SAS | Programming Tips
0
CData JDBC Driverを利用したSNS・ファイルストレージサービスとの連携のご紹介

SAS ViyaではCData JDBC Driverを使って下記のソーシャルメディア・ファイルストレージサービスにシームレスにかつ、素早く連結できます。 ・Facebook ・Google Analytics ・Google Drive ・Microsoft OneDrive ・Odata ・Twitter ・YouTube Analytics 本日はCData JDBCドライバーを使ってTwitterと連携し、「天気」に関するツイートを取得してみたいと思います。順番通り説明しますので、最後までお読みいただき、皆さんも是非ご活用ください。   1. Twitter API利用申請 Twitter Developer PlatformにてTwitter APIの利用申請を行います。申請にあたり、名前と住んでいる地域、利用目的などの情報を提供する必要がありますので、事前に用意しておいてください。また、利用申請の承認はTwitter側で数日かかる場合がありますのでご了承ください。 Twitter APIの利用申請が終わったら、申請完了のメールが届きます。 また、申請の検討が終わり、Twitter APIが利用できる状態になりましたら、「Account Application Approved」というメールが届きます。 2. CData Twitter JDBC Driverインストール インストールにはSASの契約とは別途、CData社との契約が必要ですが、30日間トライアルで使うことも可能ですので、ご紹介します。 まず、CData Twitter JDBC Driverインストールページにアクセスします。 次に、Downloadクリックします。 Download Trialをクリックします。 適切なOSを選択してDownloadをクリックします。今回はWindowsを選択しました。 ダウンロードされたTwitterJDBCDriver.exeファイルを開き、画面に表示されるステップに従ってインストールを完了します。   3. Connection String生成

Advanced Analytics | Analytics | Data Management | Learn SAS | Programming Tips | Students & Educators
0
SASのIn-Database機能のご紹介

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: オーナーの名前

Advanced Analytics | Analytics | Artificial Intelligence | Data for Good | Machine Learning | SAS Culture | SAS Events | Students & Educators
CTOからのあなたへの招待状~#HackinSASを開催

CTOからのあなたへの招待状 ~リアルワールドのためのグローバルデータサイエンス・ハッカソンイベントを開催~ 世界中のどこかにいる有志のあなたへ 従来からSASをご愛顧頂いている皆様、そして、これから新たに出会う皆様、こちらはSAS Instituteでございます。今回は、非常にInspired+Greatなニュースをお届けさせていただきます。 それは、SASがグローバルでHackinSASというデータサイエンス・ハッカソンイベントを開催するということです! 今回のイベントでは、グローバルで参加者を募集しています。もちろん、従来のSASユーザのみならず、開発者やオープンソースユーザ、学生の方々、Startup企業の方々、またはテクニカルパートナーの方々、誰でも参加可能なイベントです。また、今回イベントの主旨としては、皆様の周りにあるデータを用いて、そのデータから有用な情報を得て、リアルワールドのビジネス課題・社会問題を解決するためのソリューションや、よりクリエイティブなデータの使い道を発見することを目指しています。詳細は後述するイベント詳細情報をご参照ください。 SASは長年、データから有用な情報を得て、その情報をリアルワールドの社会問題・環境問題、そしてビジネス課題解決に貢献できる製品やソリューション、そしてサービスを開発し、そのナレッジを貯蓄してきました。また、たくさんのユーザの方々との関わり合いの中で得られた情報などもとても有益なものでした。ハッカソンイベントはまさに、そのような様々なナレッジや発想を持っている皆様に切磋琢磨できる舞台を提供しています。 まずSASのエグゼクティブ・バイス・プレジデント兼最高執行責任者兼最高技術責任者のOliver Schabenbergerからのメッセージをご覧ください。 クリック! では、イベント詳細情報は下記となります。  1.開催スケジュール ハッカソン全期間スケジュール 2020年12月17日-2021年2月15日 チームとテーマの登録期間。 この期間中に、あなたのチームを結成しましょう。そして、課題を定義し、サマリをご提出ください。 2021年1月―2月 リソース確保期間。 この期間中に、ハッカソンをするための無料イネーブルメントリソースを活用して、優位に立ちましょう。 2021年3月 ハッカソン正式開始期間。 この期間中に、あなたとチームメンバーの創造性を輝かせる時がきます。データとSASを使って課題を解決しましょう。 2021年4月 最終ラウンド期間。 最終ラウンドに参加できるチームが選定され、SAS Vector Labsチーム(SAS Innovation Hub)に紹介され、更なる課題解決のためのアプリケーション開発を行うことが可能です。 Virtual SAS® Global Forum 2021(2021年春に開催予定) 2021年のSAS Global Forumで優勝者の結果が公開されます!   事前ライブキックオフミーティング 2021年1月13日13:00 – 14:00オンラインで開催 開催概要: SASのエグゼクティブ・バイス・プレジデント兼最高執行責任者兼最高技術責任者のOliver Schabenbergerが、この他に類を見ないグローバルハッカソンとは何か、そしてビジネスの課題解決や社会貢献のためにアナリティクス、AI、オープンソースをどのように創造的な方法で活用できるのかについてお話します。 ハッカソンズ・インターナショナルのCEOであるAngela Bee ChanとSASのプロダクト・マーケティング・マネージャーであるMarinela Profiの魅力的な対談が行われます。彼らはこのハッカソンの中でできるコラボレーションと、HackinSASが単なる競争以上の価値あるものであるかをお話します。

Analytics
痒い所に手が届く、SAS Studioカスタムタスクは分析作業の救世主! ~SAS Studio上で独自のデータ加工&分析タスクを活用~

SAS Studio Taskの紹介  仕事の中で、このような状況に遭遇したことはないでしょうか?普段Enterprise Guide或いはSAS Studioを利用している分析チームの中には、コーディングユーザとSAS言語ができないGUIユーザがいます。ある分析プロジェクトにおいて、特定のモデルを活用する場合に、そのモデルはSASコードを書くことで利用することはできますが、EGのGUI操作やSAS Studio のTaskだけでは活用することができません。この場合に、GUIユーザがコーディングユーザと同じような分析を行うためには、コーディングユーザが作ったSASコードを利用し、入出力情報やパラメータなどを修正した上で使用することになります。しかし、このようなやり方では、たとえば、修正を間違えることによって、エラーを起こし、コードを書いた人に助けてもらわないといけないことも時々発生していました。  この状況に置いて、SAS言語ができないユーザでも、コードを書かずにGUI上の簡単なマウス操作で実施できるような便利な機能をご紹介します。  SAS Studioには、SAS Studioカスタムタスクという機能が組み込まれています。必要な機能が既存のタスクとして用意されていなくても、プロシジャーがあれば自らタスクを簡単に作成できるインターフェースです。XML形式で必要な入出力箇所やオプションを定義することによって、GUI画面を持つタスクが簡単に作れます。そのタスクをSAS Studio上では勿論、SAS Enterprise Guide上でも使うことができます。非常に便利な機能です。この便利なSAS Studioカスタムタスクには以下のような特徴があります。 ・タスクを作る際にはSAS以外のプログラミング知識は必要ありません。 ・SAS Studioで作る場合は、XMLを書きながら、作成途中のGUIの画面を常に確認できます。 ・タスクを使う人は簡単なマウス操作で利用可能です ・そして、SAS StudioとEnterprise Guide両方での利用が可能です。 ・XMLベースなのでタスクの修正は簡単です。 ・テキストボックス、チェックボックスなど多様なコントロールを定義可能です。 SAS Studio Taskの作り方  今回は混合正規モデルを例にSAS Studio Taskの作成方法を紹介します。SAS Studio Taskを作るには二つの方法があります。  一つ目は新規で一からタスクを作成する方法です。  二つ目は既存のタスクをテンプレートとして使い、内容を修正しながらタスクを作る方法です。  今回の記事は一つ目の方法をメインとして紹介しますが、記事の最後に二つ目の方法に関しても簡単に紹介します。作成ツール(XMLエディタ)としては、SAS Studioや任意のエディターのいずれかを使用しても構いませんが、この記事では最新のSAS Studio 5.2を使用しています。操作方法などは使っているSAS Studioのバージョンによって変わる場合はありますが、定義の書き方に相違はありません。  SAS Studioを開いて、メニューから新規作成をクリックし、タスクと選択します。そして下の図のようなタスクテンプレートの画面が表示され、この画面内でSAS Studio Taskの定義を行います。まずSAS Studio Taskの定義の構造を紹介します。  最初の2行はシステムにより生成されたタスクのエンコーディングとスキーマバージョンの定義です。この部分を修正する必要はありません。 <?xml version="1.0" encoding="UTF-16"?> <Task schemaVersion="7.2">

Advanced Analytics | Learn SAS | Programming Tips | SAS Administrators
0
SAS/ACCESSのご紹介とSnowflakeとの連携デモ

01. はじめに 最近多くの人々がクラウド環境をベースにしたデータストレージサービスを利用しています。 ここで皆さん、突然ですが、データを管理するためにローカル(またはオンプレミス)環境を構築していた過去を振り返ってみてください。 以前は、データを保存するために、関連ソフトウェアやハードウェアを購入・設置・インストールし、様々な環境設定を行います。3か月後、データの量が増えてきてデータベースの容量が足りなくなります。そしてまた多くの費用と時間を使って、必要なソフトウェア・ハードウェアを再び購入、同じく様々な環境設定をします。 上記に記載したような様子は現在のビジネス世界ではほとんど見当たりません。今日必要なのは、ただメールアドレスとクレジットカードのみです。最近では様々なデータストレージサービスが生まれてきたからです。このようなサービスはクラウド環境で動いていて、一定期間料金を支払えば利用できる「subscription」(サブスクリプション)ベースであり、前払い方式ではなく、使用した分だけ課金される「pay as you go」(ペイアズユーゴー)方式が特徴です。SASでも様々なデータストレージサービスに対応していますが、今日はその情報について詳しくお伝えします。   02. SAS/ACCESSのご紹介 「SAS/ ACCESS」とは、SASと他のベンダーのデータストレージサービスを連携するインターフェースです。下記のような特徴があり、様々なデータストレージサービスとの連携を支援しています。 シームレスで透過的なデータアクセス (Seamless, transparent data access) 柔軟なクエリ言語のサポート (Flexible query language support) パフォーマンスチューニングオプション (Performance tuning options) 性能最適化機能 (Optimization features for better performance) より詳しい情報はこちらをご参照ください。 様々なデータストレージベンダーの中で、今回は「SAS/ACCESS INTERFACE TO SNOWFLAKE」を使って「Snowflake」というサービスに連携してみたいと思います。* Snowflakeの設定はこちらを見て事前に行いました。   3. SAS/ACCESSデモ 3-1. LIBNAME statementで連携 SASのLIBNAME statementで簡単にSnowflakeとの連携を行うことができます。連携することでSnowflakeのデータをDATA StepやSASプロシージャで参照することが可能になります。LIBNAME Statementのサンプルコードは下記のボックスをご参考ください。 LIBNAME

Data Management | Programming Tips
SASからMicrosoft AzureのBlobストレージ内データにアクセスする方法(第2回)

前回のブログでは、Microsoft AzureストレージサービスのブロックBlobストレージについて軽く紹介し、SASからBlobストレージ中の特定の一つのファイルにアクセスする方法を紹介しました。 第1回リンク:https://blogs.sas.com/content/sasjapan/2020/10/01/sas-azure-blob-1/ しかし、実際のビジネスシーンでは、特定の一つのファイルにだけアクセスする運用はやはり割合的には少ないと考えています。 そこで、今回のブログでは、より効率的に、複数データに同時にアクセスできる方法を紹介します。そしてこれは、Microsoft AzureのBlobストレージをファイルシステムとしてSASサーバにマウントし、SASサーバから便利にアクセスする方法です。 前回と同じように、下記の方法を使うためには、前提条件として、SAS ViyaサーバとBlobストレージがあるAzure間でネットワーク通信ができる必要がありますので、ネットワークセキュリティ条件を確認してから、下記の方法をお試しください。 方法②: BlobストレージをファイルシステムとしてSASサーバにマウントし、SASサーバからアクセスする方法。 Microsoft Azure側: 1.まず、Azureポータルに入り、「ストレージアカウント」をクリックします。(図2-1) 図2-1 2.その配下で、使用されている対象Blob用のストレージアカウントをクリックします。(図2-2) 図2-2 3.そして、表示された左ペインの中で、「アクセスキー」というメニューをクリックします。(図2-3) 図2-3 4.該当ページでは、このストレージアカウントにアクセスするためのキーの情報が含まれているので、その中の、「ストレージアカウント名」と「キー」をメモしてください。あとで接続設定情報を作る時に使用します。(図2-4) 図2-4 5.一層上に戻り、同じくストレージアカウントの左ペインで、Blobサービスの中の「コンテナー」をクリックします。(図2-5)アクセス先のコンテナー名前(例:folderfirst)をメモしてください。あとで接続設定情報を作る時に使用します。 図2-5 以上で、Azure側の準備作業が終わります。次は、SASサーバ側の準備作業を進めていきます。   SAS Viyaサーバ側: 今回、Blobストレージをファイルシステムとしてマウントするには、Blobfuseという仮想ファイルシステムドライバー機能を使います。そのため、事前にSAS ViyaがインストールされているLinuxサーバ側に、そのツールをインストールする必要があります。 このブログで使用しているSAS ViyaサーバはRHEL/CentOS 7.x系のLinuxサーバであるため、Blobfuseのインストールを含めた手順は下記となります。 6.使用するSASユーザで、SASサーバ側にMicrosoftパッケージリポジトリをインストールします。 sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm 7.BlobfuseをSASサーバ側にインストールします。 sudo yum install blobfuse 8.Azureでは、低いレイテンシーとパフォーマンスのため、SSDが提供され、今回はそれを使って、ディレクトリーを作成します。(SSD使わないことも可能ですので、その場合、別ディレクトリーで作成して頂いてかまいません。) sudo mkdir /mnt/resource/blobfusetmp -p sudo chown #YourUserName#:sas /mnt/resource/blobfusetmp

Data Management | Programming Tips
SASからMicrosoft AzureのBlobストレージ内データにアクセスする方法(第1回)

近年、クラウドベンダーが提供するサービスが充実し、より多くのクラウドサービスが誕生してきました。しかし、一つのニーズに対して、複数のサービスを選択できるようになってきているものの、どのサービスが最適なのかを判断することは逆に難しくなってきていると考えられます。最近、SASを活用しているお客様から、「Microsoft社のAzureを使っていますが、これからクラウドにデータを移行して、安くて使い勝手なストレージサービスは何かありませんか」と聞かれたこともありました。 このブログシリーズでは、クラウド上のストレージサービスの一種であるMicrosoft Azure CloudのBlobストレージサービスの概要を紹介した上で、SAS ViyaからそのBlock Blobストレージに格納されているデータへアクセスする方法をご紹介させていただきます。 このブログシリーズは合計2回です。今回のブログでは、まず特定の一つファイルへのアクセス方法をご紹介します。次回のブログでは、より汎用的なアクセス方法、つまり、Blobストレージを一つのファイルシステムとして、SASサーバと連携し、一度に複数のデータにアクセスする方法をご紹介します。ぜひ最後まで、お付き合いいただければと思います。 第1回:https://blogs.sas.com/content/sasjapan/2020/10/01/sas-azure-blob-1/  第2回:https://blogs.sas.com/content/sasjapan/2020/10/05/sas-azure-blob-2/ Blobストレージとは何か? まず、Blobストレージとは何かを紹介する前に、Blobって何でしょうか、から始めます。聞きなれない方もいらっしゃるかと思いますので。実際、BlobはBinary Large OBjectの略称です。本来はデータベースで用いられているデータタイプの種類で、メディアファイルや、圧縮ファイル、実行ファイルなどのデータを格納する時に使用されているものです。 では、Blobストレージとは何か?Microsoft社の紹介では、こう書かれています。 「Blob Storage は、テキスト・データやバイナリ・データなどの大量の非構造化データを格納するために最適化されています。非構造化データとは、特定のデータ・モデルや定義に従っていないデータであり、テキスト・データやバイナリ・データなどがあります。」 少し言い換えますと、Blobストレージは、ログファイルから、画像ファイルやビデオ・オーディオファイルまで格納できます。もちろん、通常目的でのデータ利用にも対応しているため、データの格納場所として使っても問題ありません。(Microsoft Azureの資料によりますと、4.75 TiBまで可能です。) なぜBlobストレージなのか 前文で少し申し上げたSASのお客様から頂いた質問の中で、「安くて使い勝手の良いストレージサービスは」と聞かれた事に関して、安いというポイントに関しては、下記の図をご覧ください。 ソース:https://azure.microsoft.com/ja-jp/pricing/details/storage/(2020/09/09アクセス時点) ご覧のように、ブロックBlobのストレージサービスは、安価で、かつ非構造化データに対応し、一般目的でのデータストレージとして、非常に向いています。 もちろん、ビジネスケースによっては、様々考慮すべき点(既存環境にHadoop環境があるかどうか、スループット、ビッグデータ等々)もありますが、今回は、主にこのブロックBlobストレージを例として紹介します。 SAS ViyaからBlobストレージにアクセスする方法 ここからは、SAS ViyaからBlobストレージにアクセスする方法をご紹介します。下記の方法を使うために、前提条件として、SAS ViyaサーバとBlobストレージがあるAzure間でネットワーク通信ができる必要がありますので、ネットワークセキュリティ条件を確認してから、下記の方法をお試しください。 方法①: SASのPROC HTTPプロシージャを使って、Blobストレージ内の特定の一つのデータにアクセスする方法。 Microsoft Azure側: 1.まず、Azureポータルに入り、「すべてのリソース」をクリックします。(図1-1) 図1-1 2.その配下で、利用されているストレージアカウントをクリックします。(図1-2) 図1-2 3.次に、表示された左側のメニューの中で、「Blob Service」配下のコンテナーをクリックします。(図1-3) 図1-3 *豆知識: ここで、いきなりコンテナーが出てくることに関して、混乱している方もいらっしゃるかもしれないので、少し解説します。こちらのコンテナーとは、Dockerコンテナーの意味ではありません。Blobストレージサービス配下のデータ格納用のサブ階層のことであり、フォルダーのようなものとイメージしてください。(図1-4) 図1-4 4.上記図1-3のように、その中に一つ「folderfirst」というコンテナーが存在しており、それをクリックすると、中に保管されているデータが見えるようになります。(図1-5) 図1-5 5.ここからが重要なポイントです。特定のデータ、例えば、「sas7bdat」データにSAS Viyaからアクセスしたい場合は、該当ファイルの名前をクリックして、下記のようなプロパティ情報を表示させます。(図1-6) 図1-6

1 2 3 4 7