/// BANGBOO BLOG ///
■21/2/21 1:00AM
BigQuery
■GCP(Google Cloud Platform)https://console.developers.google.com/GCPを活用するスキルを問われる「Associate Cloud Engineer」インフラストラクチャの知識を問われる「Professional Cloud Architect」データと機械学習の知識を問われる「Professional Data Engineer」 マシーンラーニング:教師ありをベースにパターンを線形として認識し相似のパターンを見つける ディープラーニング:人間が把握できる次元のデータ構造ではない多次元でパターンを見つける
  線形検索みたいなもんか

■Big queryリファレンス標準SQLとレガシーSQLがある、違いは?
標準 SQL のクエリ構文  |  BigQuery  |  Google Cloud
標準 SQL への移行  |  BigQuery  |  Google Cloud
標準 SQL のデータ型  |  BigQuery  |  Google Cloud
レガシー SQL 関数と演算子  |  BigQuery  |  Google Cloud
レガシー SQL のデータ型  |  BigQuery  |  Google CloudBigQuery: クラウド データ ウェアハウス  |  Google Cloud(チュートリアルみたいな) 

BigQuery解説:https://beyondjapan.com/blog/2016/03/what-is-bigquery/クエリ処理のツリーアーキテクチャによる分散並列処理複数のサーバーに対してツリー状に拡がっていき、並列にサーバー上で同時に分散処理 ルートサーバ>intermediateサーバ>leafサーバBigQuery MLという機能を利用すると、機械学習モデルをCloud AI PlatformのTensorFlowなどに連携させ、クエリ結果を素早くAIと連携Lookerというデータ分析プラットフォームとの連携よりクエリ結果を、データ統合、変換、分析、可視化、レポーティングすることができ、非常に強力なBI
列指向型・カラム型データベース・カラムナストレージ(一般的なRDBMSでは行単位でデータが保存) 必要なカラムのデータを取得するだけでよく、またデータは圧縮できるhttps://dev.classmethod.jp/articles/google-bigquery-debut/
GCPプロジェクト>データセット>テーブル(行row列columnで普通のテーブル、ネイティブbigqueryテーブル/Googleドライブのような外部テーブル、SQLクエリによるビュー)ジョブは非同期で実行され、ステータスをポーリング(データの読み込み、データのエクスポート、データのクエリ、データのコピーなど)
クエリ(ウェブ UI、bq コマンド、BigQuery REST APIの方法がある、SQLと同じ?SELECT   title, answer_count, view_count FROM  `bigquery-public-data.stackoverflow.posts_questions` ORDER BY  view_count DESC LIMIT 10BigQueryはSELECT tag, time FROM [dataset_name.table_name_20151206]のように必要な列だけを選択した場合にはスキャンの幅を狭めることは可能ですが、LIMITやWHERE句には何を書いてもテーブルをフルスキャンしてしまう節約 Amaのs3に入れRedshift内でテーブルを分割した後にBigQuery
Hadoopでも使われていたGoogle開発のエンジンであるMapReduceは、非構造化データをプログラミングモデルを通して扱うが、巨大なテーブルの結合や巨大な出力結果のエクスポートも可能である半面、処理時間は数分間から数日に及んだ、だが、BigQueryは、あらかじめデータを構造化してBigQueryのテーブルに格納しておかねばならないが、ほとんどのクエリは数秒で完了する
サードパーティ ツール(データの読み込みや視覚化を行うツールなど)を使用して BigQuery のデータにアクセス可
パブリックデータに直でアクセスできるSELECT * FROM `bigquery-public-data.usa_names.usa_1910_2013`BigQuery の一般公開データセット  |  Google Cloud

Google Cloud SDKをインストールすればコマンドラインが使える

■標準SQL
先頭行でレガシーか宣言 #standardSQL あるいは #legacySQLバッククォートでエスケープ、プロジェクト区切りも.(ドット)、From句のカンマはCross joinで全組合せかと思われ通常通りjoinやunionを使う事配列が使える、カラム一つに配列を入れて多元的に扱えるwithで一時テーブルを作れるexceptでカラムを除外、replaceでカラムの置き換えfunctionを作って使える 標準 SQL ユーザー定義関数  |  BigQuery  |  Google Cloud分析関数over()とwindowで計算ができる
 rank() over (order by x)は下記moreのRFMに使用している地理関数とかJSON関数とか色々関数もありそうスクリプトで変数やIfやLoopが使える 標準 SQL のスクリプト  |  BigQuery  |  Google Cloud

■レガシーSQL(標準SQLを使うのが由)予約語は角かっこを使ってエスケープ、プロジェクト区切りは:集計関数で WITHIN キーワードを使用すると、レコード内の繰り返しの値が集計?FROM句のカンマは標準SQLのCross joinとは異なりUNION ALL 演算子通常のSQL処理システムとは異なり、BigQueryは繰り返しデータの処理を前提として設計。繰り返しレコードの構造を操作するクエリを記述。その方法の1つが、FLATTEN 演算子?JOINは、INNER、[FULL|RIGHT|LEFT] OUTER、および CROSS JOIN 演算子をサポート、デフォルトINNER除外できる select + from A OMIT RECORD IF COUNT(payload.pages.page_name) <= 80;TOP を使用するには、SELECT 句に COUNT(*) を含める分析関数over()とwindowで計算ができる?(標準SQLと同様?)functionを作って使える(標準SQLと同様?)
JSON等のネストをフラット化

■DDL データ定義言語ステートメントの使用  |  BigQuery  |  Google Cloudhttps://www.isoroot.jp/blog/1651/auto_incrementもdefaultもprimary keyもindexもshow create tableないのでは?CREATE TABLE IF NOT EXISTS bangboo_data.x_xxx (  `no` INT64 NOT NULL,  `user_no` INT64 NOT NULL,  `name` STRING,  `date` DATETIME,)
■データアップロード時のスキーマ指定
自動検出はFirestore、Datastore、Avro、Parquet、ORCだけ?ほぼ手動のutf-8のcsvかjsonlかを使う形コンソールで手動スキーマ指定可(jsonスキーマを張付ける)、modeは省略可でデフォはnullable、JSONスキーマファイルupはaqコマンドのみ可、ローカルからup時のコマンドとスキーマ例↓bq load --source_format=CSV mydataset.mytable ./myfile.csv ./myschema.json[  {    "description": "quarter",    "mode": "REQUIRED",    "name": "qtr",    "type": "STRING"  },  {    "description": "total sales",    "mode": "NULLABLE",    "name": "sales",    "type": "FLOAT"  }]なお一旦Google Cloud Storageに放り込んでからやると高速 BigQueryにデータをバッチでインポートする - Qiita
COUNT DISTINCTだが、BigQueryでは概算値が返ってくる??。正確な値が必要な場合は、GROUP EACH BYとCOUNT(*)を組み合わせるhttps://www.buildinsider.net/web/bigquery/01

■IAM(Identity and Access Management) https://cloud.google.com/iam/docs/overview?hl=jahttps://cloud.google.com/iam?hl=ja
IAMベストプラクティス https://cloud.google.com/iam/docs/using-iam-securely
操作方法 https://cloud.google.com/iam/docs/how-to?hl=ja
ロール https://cloud.google.com/iam/docs/understanding-roles?hl=jahttps://www.isoroot.jp/blog/1244/https://medium.com/google-cloud-jp/gcp-iam-beginner-b2e1ef7ad9c2

//IAMの機能機械学習を使ったスマート アクセス制御の最適化デバイスのセキュリティ、IP アドレス、リソースタイプ、日時などの属性に基づいて、リソースに対するきめ細かいアクセス制御ポリシー権限の認可、解除、委任に関するすべての監査証跡の履歴ユーザーとグループのプロビジョニングや管理、シングル サインオンの設定、2 要素認証プロセス(2FA)
//IAMポリシー
IDをGroup(●●部)にアサイン Members(Group等)にRoles(●●役)をアサイン  MembersとはグループやドメインやID(Googleユーザアカウント、サービスアカウント) Roles(●●役)にPermissions(権限)を付与
ロールは作成ができ●●世話役みたいな感じか
permissionsは権限で「resourcemanager.projects.get」とかで付与する
 個人や無料アカだと組織がない?→フォルダが作成できない?
 組織がないとグループが作成できない→グループがないとIDにRoleを付与するしか
フォルダは組織ツリー状でリソース管理、グループはその人の集まりで部課で権限管理?
ポリシーはMSのGPOみたいものも組み込みで存在する

//リソース
階層:Organization > Folders > Project > Resource(Google Cloud services)
割り当て:日や分に対してのデータ量の上限等を設定
必要以上に権限を付与しない組み込みロールが多い、改変してロールを作るか権限はサービス名.リソース.動詞という命名規則検証:該当ユーザがproject-idにアクセスできるか?https://console.cloud.google.com/logs?project=project-id

(More)
Comment (0)

■21/2/10 7:30PM
Python
おッPythonやるのか?

ファイル拡張子oppython.py デフォUTF-8、全部オブジェクト(list,dict,set等のミュータブルなら参照になる点に注意、必要ならcopy())#コメント変数型不要:p = 500 * num、定数はない文字繰り返し、キャスト:"文字列" * 4 + str(p) + "Hi\nお元気ですか?\nSee u"ドキュメントストリング(三連引用符):"""そのまま表示""" print mymod.__doc__で見れるraw文字列でescしない:print(r"インストール先は c:\\code\python\bin です")文字数:len("東京都")→3
文字列[開始:終了]→→ str = "Flower" print(str[1:4]) → low文字列 % (値1, 値2, ...)→→ num= "10進数では %d 、16進数では %x " % (num, num)
"xxxx{index:書式指定子}xxxx".format(値)→→ "名は{:<8s}で年は{:>3d}で".format(name, age)f"xxxx{値:書式指定子}xxxx"→→ f"名は{name:<8s}で年は{age:>3d}で" 0/空の文字列''/値なしはfalse、Noneは? x = None x is None→→true?//→除算切り捨てし整数、**→べき乗
関数宣言はdef kansu():だが、その中からglobal henでグローバル変数henにアクセスできる
try/exceptを関数内で設定することも、逆に関数呼び出し時にも使用ができる、else, finally, raiseも使う
リストa=[1,2,3]はmap(), filter(), reduce()等が使える、set()は重複の無いリストを扱いセット同士の減算、OR、AND、XOR 操作が可能
tuple→タプルは定数リスト、更新無しならリストより速い a = 1,2,3 a = (1, 2, 3)
辞書{a:1,b:2}はitems(), keys(), valus(), iteritems()を使える
lambdaは無名関数?__iter__()はnext()を持つオブジェクトを返し、next()は次の要素を返し、最後に達するとStopIteration例外を返す?yield はイテレータを返すジェネレータを定義?@デコレータは関数を実行する前後に特殊な処理を実行したい場合?withで終了処理を指定できる、ファイル読込とその後の処理とか
assertや__debug__はテストで機体通りかを確認する?
passは中身の無い関数やクラスを作成しkara.p=1で粋なり属性追加等ができる
execは引数の文字列をPythonとして実行 exec "print 'Hello'"
delはオブジェクトを削除 del x, y, z
継承やオーバーライド class MyClass2(MyClass):
多重継承class MyClassC(MyClassA, MyClassB): で纏めて使えるようになる
class MyClass:    """A simple example class"""  # 三重クォートによるコメント    def __init__(self):  # コンストラクタ        self.name = ""    def __del__(self): #インスタンスが消滅する際に呼出でコンストラクタ        print "DEL!"    def __str__(self): #文字列化        return "My name is " + self.name    def getName(self):  # getName()メソッド        return self.name    def setName(self, name):  # setName()メソッド        self.name = name
class MyClass2(MyClass):    def world(self):        print "World"class MyClass3(MyClass):    def hello(self):  # 親クラスのhello()メソッドをオーバーライド        print "HELLO"a = MyClass()  # クラスのインスタンスを生成a.setName("Tanaka")  # setName()メソッドをコールprint a.getName()    # getName()メソッドをコールprint a  #=> My name is Tanaka 文字列化b = MyClass2()  #継承b.hello()    #=> Hellob.world()    #=> Worldc = MyClass3()  #オーバーライドc.hello()    #=> HELLO
【基礎一覧】Pythonの基本文法を全て解説してみた!【初心者】 (suwaru.tokyo)
Python基本文法まとめ - Qiita
とほほのPython入門 - とほほのWWW入門 (tohoho-web.com)Python入門 ~Pythonのインストール方法やPythonを使ったプログラミングの方法について解説します~ | Let'sプログラミング (javadrive.jp)
Welcome to Python.org

HTMLの中に少し埋め込めず、基本的にプログラムの中にHTMLを埋め込む:CGI(Perl然)
 さくらインターネットでPython CGI (mwsoft.jp)
WSGI Python で WSGI (Web Server Gateway Interface) に従ったシンプルな Web サーバで Hello World - Qiita
Python用Webサイト用途フレームワーク:Flask(軽量)、Django
 WSGI について — Webアプリケーションフレームワークの作り方 in Python (c-bata.link)
 GCPでどう使うかは不明だがホスティングは↓
 ウェブ ホスティング | Google Cloud 静的ウェブサイトのホスティング  |  Cloud Storage  |  Google Cloud

ケチって分厚い本1冊にしたが全然進まぬ、薄い奴星e、?チッPython、誰がJSONじゃ~い
Comment (0)

■21/1/27 3:00AM
Framework
群雄割拠か弱肉強食か政治解決か遣りたい放題の中、当事者なら自然に身につくだろうが時代に参加していない貴殿には到底分からない、シルバーブレットはなく結局は愚直しかない、どう愚直になるか/どう立ち回るかを発見するのがフレームワークだ、もしトレンドを感じればそれに乗ればよい、他にシーズがあればプロダクトアウト、ニーズがあればマーケットインだ

■フレームワーク
3C(Customer/Competitor/Company:自社)
SWOT(Strength-Weakness x Opportunity-Threat)
PEST分析(Politics/Economy/Society/Technology)
3M(人物金、Men/Material/Money)3M(ムリ:負荷が人に掛かる/ムダ:資源が余り浪費しコスト高/ムラ:負荷と浪費が交互)
7S(<3sはハード>Structure/Strategy/System、<4sはソフト>Shared value:価値観/Skill/Staff/Style:文化)
VRIO(Value/Rarity/Inimitability:模範困難性/Organization)
MVV(Mission:使命why/Vision:将来像what/Value:価値観how)
マーケ4P4C(4p:product/price/place/promotion, 4c:customer cost/customer cost/convenience/communication)
QCD(Quarity品質/Costコスト/Delivery納期)
ポーターの5forces(Competitive Rivalry:競争企業間の敵対関係/Supplier Power:売り手の交渉力/Buyer Power:買い手=顧客の交渉力/Threat of Substitution:代替品の脅威/Threat of New Entry:新規参入業者の脅威)コトラーのSTP(segmentation:顧客やニーズや特性等で細分化/targeting:セグメ選択/positioning:勝てる位置取り)
競争戦略ポジショニング (コストや差別化や集中戦略等で業界ポジを練る)
PPM:product portfolio mgt(市場成長率xシェア->問題児:花形に育てる/花形:継続投資/金のなる木:投資無し/負け犬:撤退検討)
製品ライフサイクル:PLC(導入期:認知度と需要up/成長期:製品多角化販路拡大/成熟期:差別化とコストダウン/衰退期:選択と集中効率化)
イノベータ理論(Innovators/Early Adopters/Early Majority/Late Majority/Laggards:16%キャズム:段階で戦略を変えていく)
RFM(recency/frequency/monetary->優良顧客を見つけよりマーケ)
ポーターのバリューチェーン(企画/開発/購買/製造/物流/販売/サービス/人事の各々での価値->VRIOで分析)
アンゾフの成長マトリクス(既存市場浸透:既存市場x既存商品/新市場開拓:新規市場x既存商品/新商品開発:既存市場x新規商品/多角化:新規市場x新規商品)
TOWS(クロスSWOT分析:SWOTをSWOTする->SWOTで現状分析、さらにSWOTで戦略化)
SCAMPER(アイデアの展開->substitute代用/combine結合/adapt応用/modify修正-magnify拡大/put to other uses転用/elininate削除-minify削減/reverse逆転-rearrange再編集)
ECRS:イクルス(改善策->排除/統合/交換/簡素)

ギャップ分析(As Is/To Be<-間にaction)
特性要因図:フィッシュボーンチャート(要因を網羅的に調べる、他にも親和図法やマインドマップ)
意思決定マトリックス(縦軸に候補、評価基準を横軸、評価基準に重みをつけて点を出し、合計の総合点で判断)
CS/CE分析(Customer satisfaction/Customer expectation->各機能のcsをceに合わせる、ce高cs低の改善)
リスク評価マップ(インパクトx不確実性、インパクト大に対処し小は静観、不確実性が高いと注意が必要<-pest/5f)
AIDMA...etc...
ユダヤの商法:78対22の法則で上手くいく、契約主義で約束を守るケイパビリティ戦略:ビジネスプロセスを能力化、スピード/整合性/明瞭性/俊敏性/革新性が上がる、CEOがツールや組織を検討ポジショニング戦略:競合との位置付け、STP分析をしどうポジションを取り差別化するかタイムベース競争戦略:時間こそが希少資源、スピードが一番顧客満足が高い、数稼ぐアダプティブ型戦略:多くの新しいアプローチを試し最も有望なものを拡大展開、PDCA、やらな分からん時代
ランチェスターの法則:
奇襲/武器/集中、逆にシェアトップで武器も兵数あると模倣し広域戦 自分を知る、競合を知る、シェア1位を知る 地域限定、顧客志向営業、販路、陽動奇襲の企画、強みに集中
逆転の競争戦略:
業界破壊者(枠を壊す)/侵入者(他業種からの参入)/挑戦者(競合が攻撃)がトップシェア企業を脅かす1)企業資産の負債化=リーダーが持つ競争優位の源泉を攻めリーダーが蓄積してきた優位な経営資源を価値のないものにし負債にしてしまう戦略:モスは店内で調理しマックより優位に、あるいは逆にセントラルキッチン2)市場資産の負債化=リーダー企業に有利に働いていた競争のルールを変更し、顧客が持つ資産(ソフトウェア、交換部品など)を使えなくする戦略:VISAよりQRのPaypay3)論理の自縛化=安易に追随するとリーダー企業が発信してきたメッセージと矛盾することになり、企業イメージを低下させてしまう戦略:手作り丁寧より100均
4)事業の共喰化=リーダー企業が強みとしてきた製品・サービスと共喰い関係にあるような製品・サービスを市場に出すことで、リーダー企業内に追随するか否かの不協和音を引き起こす戦略:カーシェア
ーーーーーーーーーーーーーーーーーーーーーーーーーー
■現代思想
ニーチェ:ルサンチマン、奴隷道徳<>快と力の高揚感が生を肯定、ニヒリズム
マルクス:神格化、砂漠の水を都市で売ろう、紙一枚が命より大事…社会的関係の錯覚
フロイト:無意識<>理性、理性は単なるハリボテであり無意識が主人で自律神経も管理 エス(快楽主義)>自我:Ego(調整役)>超自我:Super ego(親/社会/会社の価値観の同一化)
  親や社会等から裏切られると同一化できずトラウマ、葛藤を無意識化に隠したい
ユング:Collective unconscious(人類は人種に限らず同じ記憶を持っている)

ーーーーーーーーーーーーーーーーーーーーーーーーーー
■リーダーシップで面白いほど結果が出る本
(仕事の種類)リーダシップ分類:指示/率先/構想/合意/育成/関係構築
  リーダシップ→変化、コントロール→維持(基本どちらもPDCA)
  若手に新しい変化のリーダシップが期待されている
(担当)鷹の眼と蟻の眼(大きな視点の戦略+現場の改善)
(頭脳)1)構想力、2)推進力、3)育成力
  →アイデア発表、ダメ出し、頼りにされる
1)構想力:戦略をゲームとして導入する、仕事の意味を伝える、今を楽しむフロー没入
2)推進力:手段の目的化を防ぐダメ出し、メンバーに寄り添う:会話の時間が足りない、現場のアイデアや成功事例を吸い出し
3)育成力:個々人の心のベクトルを少しプラスに、共通言語の定着(これがないと心の障壁や違和感)
(発想は言葉から、リーダは言葉が大事)


Comment (0)

Navi: 1 | 2 | 3 | 4  >
-Home
-Column [121]
-Europe [9]
-Gadget [72]
-Web [106]
-Bike [3]

@/// BANGBOO BLOG ///