Claude Codeすごいですね。便利すぎてMaxプランにしてしまいました。
コーディングで使えるのはもちろんなのですが、Cursorを使い始めた頃から「これでデータ分析できないかな」と思ってました。Vibe CodingならぬVibe Data Science。Cursorでもできると思うのですが、チャットインタフェースが前面に押し出されていて、よりVibe感が得られそうなClaude Codeでやってみます。
Claude Codeをインストールして、VSCodeと連携しておきます。
Databricksに接続する前提なので、ホスト名やパーソナルアクセストークンを含むコードをプロジェクトのディレクトリに配置しておきます。初めは以下のDATABRICKS_HOST
やDATABRICKS_TOKEN
に直書きでも構いません。あとで環境変数を別ファイルに
と指示すれば、.env
に分離してくれます。
from databricks.connect import DatabricksSession
from config import DATABRICKS_HOST, DATABRICKS_TOKEN
spark = DatabricksSession.builder.remote(
host=DATABRICKS_HOST,
token=DATABRICKS_TOKEN,
serverless=True
).getOrCreate()
# Query covid schema tables
covid_cases = spark.sql("SELECT * FROM takaakiyayoi_catalog.covid.covid_cases_base LIMIT 10")
covid_cases.show()
これで、Claude Codeで/init
を実行します。
今回は以下のような内容になっています。これは、何度かやり取りをした後で接続先情報も理解してもらった上で更新しているので、テーブルの情報なども記載されています。
CLAUDE.md
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
This is a Databricks data science project that connects to Databricks serverless compute to analyze COVID-19 data from Japan. The project demonstrates data analysis capabilities using Databricks Connect with PySpark SQL.
## Dependencies
The project requires the following Python packages:
- `databricks-connect` - For connecting to Databricks
- `python-dotenv` - For loading environment variables
To install dependencies:
```bash
pip install -r requirements.txt
```
## Security Considerations
- All scripts now use environment variables for credentials
- Configuration is centralized in `config.py`
- Use `.env` file for local development (never commit to version control)
- Copy `.env.example` and update with your credentials
## Databricks Connection
The project connects to:
- Host: `https://xxxxxx.cloud.databricks.com/`
- Compute: Serverless
- Catalog: `takaakiyayoi_catalog`
- Schema: `covid`
- Main tables:
- `covid_cases_base` - COVID-19 case data (2022-2023)
- `pref_area` - Prefecture area mapping
- `pcr` - PCR testing data (2020-2023)
## Development Workflow
1. **Setup environment**:
```bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
2. **Configure credentials**:
- Copy `.env.example` to `.env`
- Update `DATABRICKS_TOKEN` with your PAT
3. **Running scripts**:
```bash
# Basic connection test
python databricks_connect_test.py
# Detailed COVID data analysis
python covid_analysis.py
# Explore COVID schema structure
python explore_covid_schema.py
```
## Key Scripts
- `databricks_connect_test.py` - Quick test showing first 10 COVID cases from Hokkaido
- `covid_analysis.py` - Comprehensive analysis including:
- Date range and coverage statistics
- Top prefectures by case count
- Monthly trends
- Regional analysis by area
- PCR testing statistics
- `explore_covid_schema.py` - Detailed schema exploration for all tables
- `config.py` - Centralized configuration management
## Data Schema Notes
### covid_cases_base
- Columns: `Prefecture` (string), `Cases` (bigint), `date_timestamp` (timestamp)
- Contains daily COVID-19 case counts by prefecture
- Date range: 2022-01-01 to 2023-05-08
### pref_area
- Maps prefectures to regions (北海道地方, 東北地方, 関東地方, etc.)
- Useful for regional aggregations
### pcr
- Contains daily PCR test counts
- Column names are in Japanese: `日付` (date), `PCR 検査実施人数(単日)` (daily tests)
- Requires backticks for querying Japanese column names
ターゲットのスキーマには、私がよく使うCOVID-19の感染者数のデータが格納されています。
関東地方の感染者数の変化
グラフにして
Genie相当の機能ですが、複数のグラフを同時に作ってくれるのは嬉しいです。
クラスタリング
ここまでですと、データ分析でデータサイエンスというか機械学習は使ってないので使ってみます。
全国の都道府県における感染の傾向からクラスタリングを行い可視化
クラスタリングを行うPythonスクリプトが生成されて実行されます。途中でエラーが出ても勝手に修正してくれます。
結果も可視化されます。最適なクラスター数も探索してくれてます。なんてこった。
時系列予測
予測はどうでしょうか。
東京都における2023/1/1から10日間の感染者数を予測するモデルを構築し、予測値と実績値との比較を可視化
どのアルゴリズムがいいかも比較してくれます。AutoMLだ。
Claudeはアーティファクト生成が強力なので。
これまでの分析結果をインタラクティブに操作できるダッシュボード
ダッシュボードを作ってくれました。
日本語の指示だけでここまでできるようになってしまうとは正直驚きです。昔の映画でハッカーが超高速でコーディングするシーンがあると思いますが、現実にはAIによって高速にコードが生成されるようになったというのには感慨深いです。
データサイエンスやデータ分析という文脈では思考とコーディングや設定変更を行ったり来たりすることになりますが、今回のようにVibe Data Scienceを行うことで、思考にフォーカスしてデータを操作できるようになったことに個人的に感動しています。
はじめてのDatabricks
Databricks無料トライアル
Views: 0