Databricks

Databricks: Spark DataFramesをJDBCから作成する

こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。

今回はDatabricks のDataFrameを、JDBC接続から作成する方法について紹介します。
RDBMS内のデータをDatabricksのDataFrameとしてロードしたい場合、JDBC接続を使えば簡単です。
針に糸を通す時に「アレ」を使えば簡単なのと同じです(謎

Databricks + MySQLで試す

例として、MySQLのSakilaサンプルDBをロードします。

まずはJDBC接続URLを宣言します。

val jdbcHostname = "203.0.113.1" //ホスト名
val jdbcPort = 3306 //ポート番号
val jdbcDatabase = "sakila" //データベース名
val jdbcUrl = s"jdbc:mysql://${jdbcHostname}:${jdbcPort}/${jdbcDatabase}"

JDBC URLを作成

次に、java.utilPropertiesを使って認証情報をセットします。

import java.util.Properties
val connectionProperties = new Properties()
val jdbcUsername = "ユーザー"
val jdbcPassword = "パスワード"
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")

認証情報をセット

さて、いよいよjava.sql.DriverManagerを使って接続します。

import java.sql.DriverManager
val connection = DriverManager.getConnection(jdbcUrl, jdbcUsername, jdbcPassword)

DBに接続

DBに接続出来ました。
試しに「film」テーブルをロードします。

val film = spark.read.jdbc(jdbcUrl, "film", connectionProperties)

テーブルをロード

次は、テーブルのスキーマを表示してみましょう。

film.printSchema()

スキーマを表示

この「film」テーブルから film_id カラムと、 title カラムを表示します。
rating が「G」に等しい、という条件も付加します。

display(film.select('film_id, 'title).filter('rating === "G"))

Scalaでは、カラム名の前にシングルクオートを一つ付けるだけでカラムを呼び出せます。
1文字だけタイプすればいいので、とてもラクです。Pythonでは出来ません。

selectで抽出

SakilaサンプルDBの中身を簡単に表示する事が出来ました。
通常のDataFramesとして操作出来ましたね。

まとめ

今回はJDBCからDataFramesを作成する方法について紹介しました。
RDBMSからデータを直接ロード出来るので便利です。

弊社はデジタルマーケティングからビッグデータ分析まで幅広くこなすデータ分析のプロ集団です。
Databricksのコンサルティング/導入支援についてのお問合わせはこちらからどうぞ。

ブログへの記事リクエストはこちらまでどうぞ。

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Adobe Analytics

    Adobe Analytics: SegmentsAPIを使って大量のセグメント設定を作成・更新する…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  2. Adobe Analytics

    AdobeAnalytics: スクロールで目標に到達したらカスタムリンク

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。Ado…

  3. Google BigQuery

    Big QueryでWindow関数を用いて、累積和を計算する

    こんにちは。エクスチュアでインターンをさせて頂いている中野です。…

  4. Databricks

    Databricks: Spark DataFrameでユーザー定義関数を使う

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  5. Adobe Analytics

    Adobe Mobile SDK 4.xからAEP SDKに移行する

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。Ado…

  6. Adobe Analytics

    Azure DatabricksでAdobe AnalyticsのDatafeedを分析する

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

最近の記事

  1. LangChainのソースコードから実装を見てみる(Chat…
  2. Tableau×Teams連携
  3. AIを使ったマーケティングゲームを作ってみた
  4. Snowflakeや最新データ基盤が広義のマーケティングにも…
  5. 回帰分析はかく語りき Part3 ロジスティック回帰
  1. Google BigQuery

    GoogleNext 2019レポート:3日目
  2. Google Analytics

    Google Analytics 4 + BigQueryでよく使う基本的なSQ…
  3. Adobe Analytics

    Adobe Analytics 原理①
  4. ブログ

    ⑥DMPについてー日本に進出していないDMP
  5. ObservePoint

    GPC (Global Privacy Control)とは?
PAGE TOP