4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【SQLデータサイエンス100本ノック環境構築(環境構築時のトラブル解消)

Last updated at Posted at 2022-03-06

はじめに

筆者について

私は、下記の記事をもとにSQLを1か月前ほどから勉強し始めたガチ初心者です。
https://qiita.com/Ryo-Nakano/items/8961c956babaf0976b4a

この記事で書くこと

データサイエンス100本ノック挑戦にあたっての環境構築に関して書きます。
特に躓いた「テーブルにデータがありません(~~~ does not exist)という旨のエラー」時の対応について書きます。

この記事で書かないこと

データサイエンティスト100本ノックの解き方
環境構築に必要なソフトウェア(Docker等のインストール方法)
*既に巷で書き尽くされているので。

躓いたこと(本題)

発生したエラーの概要

ガイドに沿ってDockerやSQLのインストールは完了し、
早速一問目から始めようとしたところ、「receipt」なんてテーブル(リレーション)は無いと返され、
悪銭苦闘しました。

エラー発生時の状況詳細

・Dockerはインストール完了。
・「dss-postgres」と「dss-notebook」はそれぞれRUNNINGと表示されている状況。
・Jupyter-Labは問題無く起動し、SQLのコード自体は使える状況。
・何故かテーブル「Customer」だけは認識されており、SQLで操作可能な状況。
・qsqlでテーブル一覧を確認すると「Customer」だけが表示される。
・スキーマは「public」だけが表示されている。

解決方法(結論)

「~100knocks-preprocess\docker\db\init」にある、
「2_create_table.sh」と「3_load.sql」に記載のコードをそれぞれjupter-lab上で実行し、
テーブルを読み込み。

実行時の詳細な手順は以下の通り

  1. 「2_create_table.sh」をメモ帳で開き、テーブルを作成(create)するコードを実行
  2. 「3_load.sql」を同じくメモ帳で開き、1で作成したテーブルに対応するcsv読み込みのコードを実行
  3. これをcustomer、category、receipt、product、store、geocodeとそれぞれcreate&loadを実行

読み込んだ際のコードイメージはこちら(例:categoryを読み込んだ時のもの)
image.png

テーブル読み込み完了後、無事にテーブルを操作できるようになり、第1問の回答をできるようになりました。
めでたしめでたし。
恐らくこれは正攻法じゃないでしょうが、「SQLを操作できればそれでいい」と私は思い込むことにしました。

参考にしたURL

https://www.cresco.co.jp/blog/entry/14446/
「(後述)「はじめに」のセル実行したときにエラーが出た・・・」の部分 大変助かりました。
ただ素人の私には「CLIコンソール上でpsqlを使い直接実行します。」の意味を理解できず、Jupyter上で実行する苦肉の策でいきました・・・

http://peiyorin.cocolog-nifty.com/blog/2011/04/postgresql-a4b6.html
https://kumachan.biz/2017/01/27_1927/4668/
上記2つは類似の記事で、恐らく今回自分がひっかかったエラーの原因はここで記載されたものだと思います。
あたりをつけるのに大変助かりました。ただ、結局スキーマが何なのか未だにピンとは来てませんが・・・・

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?