gisp_shin

アメリカで地理学博士。地理情報システムプロフェッショナル(GISP)資格持ち。GISと…

gisp_shin

アメリカで地理学博士。地理情報システムプロフェッショナル(GISP)資格持ち。GISとAIがいろんな所に使えて面白いです。地名とか世界に何があるかなんて全く覚えてないですけど、地理学って「地理的予測」ができるから科学にもビジネスにもつかえる戦略・戦術なんです。

マガジン

  • 技術面接問題を通してSQLを学ぶ

    Google BigQueryなどSQLを使う場はこれまでもそしてこれからも存在します。このマガジンでは、アメリカのデータエンジニアやデータサイエンス系職業の技術面接で使われた問題を通してSQLを学びます。大体Easy levelが15問、Mid-levelが75問、そしてHard levelが10問程度の100問以上の問題とその回答例を紹介していきます。

最近の記事

[SQL環境] DuckDB と Google Colab を使った爆速SQL練習ガイド

なぜ Google Colab を使うのか 無料で使える: Google Colab は無料で利用可能です。 どこでも使える: インターネット接続さえあれば、どこでもアクセスできます。 分析環境が整っている: Python 環境であり、Jupyter や SageMaker のような分析環境としても使用できます。 DuckDB がすぐ使える: DuckDB を簡単に導入して使用できます。 Google Colab は他のサービスに比べて便利で、コピペもしやすく、迅速

    • [SQL Tips] 大規模データセットのパフォーマンス向上: 最も近い地点を素早く見つける

      例えば、ある地点の海抜の高さを示すデータがあるとします。このデータは、陸地の場合は最低でも30mの精度、場合によっては0.5mやそれ以下の精度で存在します。海の場合でも500mレベルであれば深度の全世界データがあります。これらのデータがすべて一つのテーブルAにあり、テーブルAには緯度、経度、そして高さ・深さが記録されているとします。仮にあなたが100箇所のウエザーステーションの標高を知りたいとしましょう。テーブルBには100箇所の名前と緯度、経度が入っています。 ここで、テ

      ¥1,000
      • [SQL Tips] BigQueryの大規模データ処理コストを削減するトリック:Google Cloud Storageを活用した方法

        BigQueryでSQLを実行してデータを取得する際、Pythonを使って特定のデータを選択する方法として、以下のようなパターンがよく見られます。 bq_client = bigquery.Client(...)for i in python_list: sql = f"""SELECT * FROM table_a WHERE id = '{i}' """ df = bq_client.query(sql).to_dataframe() all_df.a

        ¥1,000
        • 毎日がもっと楽しくなる:Ray-Ban Metaスマートグラスの魅力

          Ray-Ban Metaは、スタイリッシュなデザインと先進のスマート機能を兼ね備えた、Ray-BanとMeta(旧Facebook)のコラボレーションによるスマートグラスです。かつてGoogleがGoogle Glassを発表しましたが、プライバシーやコストの問題から市場から撤退しました。それに比べて、Ray-Ban Metaは私たちの期待を超える便利さを提供します。 まず、Ray-Ban Metaの主な特徴をご紹介します。 カメラ機能 Ray-Ban Metaでは、右

        [SQL環境] DuckDB と Google Colab を使った爆速SQL練習ガイド

        • [SQL Tips] 大規模データセットのパフォーマンス向上: 最も近い地点を素早く見つける

          ¥1,000
        • [SQL Tips] BigQueryの大規模データ処理コストを削減するトリック:Google Cloud Storageを活用した方法

          ¥1,000
        • 毎日がもっと楽しくなる:Ray-Ban Metaスマートグラスの魅力

        マガジン

        • 技術面接問題を通してSQLを学ぶ
          54本
          ¥1,000

        記事

          [SQL Tips] Pythonユーザー必見! 1時間の作業を5分に短縮!BigQueryでのデータ処理術

          職場で学んだSQLやBigQueryの効果のあった使い方をシェアします。 職場で他のデータサイエンティストのコードを見て気づいたことがあります。私たちはデータウェアハウスとしてBigQueryを使用していますが、同僚の多くはRやPythonで処理を終わらせたがります。SQLを書くことを避け、「SQLできるよ」と言いつつも、「SELECT something FROM table WHERE …」のレベルで「十分だ」と思っているようです。 SQLは覚える量が少なくて済むにも

          ¥1,000

          [SQL Tips] Pythonユーザー必見! 1時間の作業を5分に短縮!BigQueryでのデータ処理術

          ¥1,000

          DuckDB爆速すぎてGISに使ったりChatGPTと組み合わせてみる

          この記事ではDuckDBを使用した地理分析や、Python上でLangchainを使ったモデルを利用することで話し言葉でSQLを実行させる例を紹介します。 Duckdb, Python, SQL, Data Analysis, Geospatial, LLM, langchain SQLの価値 2023年も残り数ヶ月ですが、2022年では最も人気あるプログラミング言語のアンケートでSQLはPythonを抑えて3位でありました(参照)。今年はどうなるでしょうか。ただSQLが

          DuckDB爆速すぎてGISに使ったりChatGPTと組み合わせてみる

          BigQueryとスペイシャルSQL

          SQLのインタビュー問題をまた更新していきますが、SQLをやる上でGoogle BigQuery、Snowflake、Amazon Redshiftの存在は大きいです。2年前はそうでもありませんでしたがBigQueryでなら、SQLでBigData GISや機械学習モデルさえ実行できるようになってきました。 今ではデータウェアハウス上でもSpatial SQL(スペイシャル SQL)が使えるようになりました。SPATIALは位置情報や地理情報、空間分析でよく使われる単語です

          BigQueryとスペイシャルSQL

          1000倍の速度差が出てしまうコードの違い - Python PandasとJuliaの例

          Python Pandasを使われている方々にとってみれば既に知っている方法だとは思いますが,効率のいい反復処理のやり方が紹介されていたのをたまたまみつけたので,同じことをJuliaでも試してみてPython Pandasの一番速い方法と比べてみました。 元記事はこちらです。 ここで紹介されていたのは2つの列(src_bytes, dst_bytes)を加算する速度がやり方によって大きく変わることです。 1. Iterrows 2. For loop with .loc

          1000倍の速度差が出てしまうコードの違い - Python PandasとJuliaの例

          『「GISでデータ分析」できるようになるまでの話』を読んでみて

          noteにGISという言葉が出てると気付き、つい拝見したのが以下の記事です。 感慨深いものがありました。私はアメリカでこの記者のようにGISの可能性に期待し、1から学び直し、地理学で博士号をとり、GIS Professional (GISP)という資格もとりました。でも日本ではあまりGISは認知されていないとも気づきました。NHK取材ノートとしてGISが紹介された記事を見るのは本当に嬉しかったです。 ESRIというGIS系アプリやサービスを提供しているアメリカで一番大きな

          『「GISでデータ分析」できるようになるまでの話』を読んでみて

          JuliaちゃんとPythonくん 徒然なるままに

          データサイエンティストが使う言語として、職場では感覚として2−3割がR、残りの7割以上はPythonで、時々Julia使おうぜという人がでてるのを見るぐらいでしょうか。 将来はどうなっているのでしょうか。 結構前の話ですが、機械学習、Deep Learningでよく使われるPyTorchをベースに、シンプルなコードでモデル構築を実現するFastAIを開発されたJaremy Howardさんが、機械学習の未来の言語はPythonではありえないと仰られ、期待しているのはJul

          JuliaちゃんとPythonくん 徒然なるままに

          技術面接問題を通してSQLを学ぶ:Mid Level - 業種タイプを分ける

          レストランや珈琲店などを業種別に分別するSQLを学びます 問題:テーブルからレストラン、カフェ、学校、その他と業種別に分けてください。レストランは"restaurant"、カフェは"cafe"もしくは"café"もしくは"coffee"で分類されています。学校は"School"、その他はすべて"other"として分類してください テーブル:sf_restaurant_health_violations (https://github.com/otwn/SQL-Practi

          ¥1,000

          技術面接問題を通してSQLを学ぶ:Mid Level - 業種タイプを分ける

          ¥1,000

          技術面接問題を通してSQLを学ぶ:Mid Level - 最も多い票

          問題:もっとも多くの”COOL"票を得たコメントを見つけてください。結果は店名・事業所名とそれへのレビューコメントを出してください テーブル:テキストがちょっと長かったのでSQLFiddleで表示することはできませんでしたので、CSVを見てください。 この表から”cool"の数が最も多かった店のbusiness_nameとreview_textを取り出すという問題です。 期待される結果 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー この後に解答

          ¥100〜

          技術面接問題を通してSQLを学ぶ:Mid Level - 最も多い票

          ¥100〜

          技術面接問題を通してSQLを学ぶ:Mid Level - 3月の収益計算

          今回の問題はF社技術面接での問題です。いずれM社にすべきでしょうか。 問題:2019年3月の各顧客の収益を計算してください。結果は収益と、顧客IDを収益の降順で表示してください テーブル:orders (SQL Fiddleにテーブルを作成しています) 期待される結果 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー この後に解答例が続きますので,読み進む前にちょっと考えてみませんか。 SQLFiddleでSQLが試せるのでやってみましょう ーーー

          ¥100〜

          技術面接問題を通してSQLを学ぶ:Mid Level - 3月の収益計算

          ¥100〜

          SQLを身に着けよう:Mid Level - 最も高いエネルギー消費量を求めよ

          問題:3つのテーブルがあります。3つのデータセンターの合計で最も高いエネルギー量を消費した日付を見つけてください。 Table1: f_eu_energy Table2: f_asia_energy Table3: f_na_energy 求める結果 SQLFiddleに表を作っていますので、こちらでSQLのテストができます。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー この後に解答例が続きますので,読み進む前にちょっと考えてみませんか。

          ¥1,000

          SQLを身に着けよう:Mid Level - 最も高いエネルギー消費量を求めよ

          ¥1,000

          SQLを学ぶ: Mid-level 21 - ユーザー増加率

          問題:各「アカウント」ごとの2020年12月から2021年1月の間のアクティヴユーザーの増加率を求めてください。増加率は2021年1月のユーザー数を2020年12月のユーザー数で割ったものとします。各アカウントごとに増加率を示してください データ:sf_events.csv 実践ページ: http://sqlfiddle.com/#!17/507f71 求められる結果 SQLFiddle上で実際に試してみましょう ーーーーーーーーーーーーーーーーーーーーーーーーーーー

          ¥1,000

          SQLを学ぶ: Mid-level 21 - ユーザー増加率

          ¥1,000

          SQLを学ぶ - Mid Level 20 - 最も高い収入金額と最低値の比較

          問題:どの都市が最も高い収入金額を得、どの都市が最も少ない収入金額をえたのか日次ベースで計算してください アプローチ:日次とありますが、それぞれの日ごとの合計を出しておいて、差を比較する方法をとります データ:postmates_markets.csv データ2:postmates_orders.csv SQL Fiddle Link ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー この後に解答例が続きますので,読み進む前にちょっと考えてみま

          ¥1,000

          SQLを学ぶ - Mid Level 20 - 最も高い収入金額と最低値の比較

          ¥1,000