Spark #04 – Pyspark connect to MySQL

ในบทความนี้ จะกล่าวถึง การดึงข้อมูลจาก MySQL ผ่าน JDBC เพื่อนำมาใช้งานใน Spark ด้วยภาษา Python ซึ่งจะใช้ Library Pyspark

ในขั้นตอนนี้ขอกล่าวเฉพาะวิธีการก่อน (รายละเอียดจะตามมาทีหลัง)

  1. สร้าง SparkSession ตั้งชื่อว่า myspark
    from pyspark.sql import SparkSession
    myspark = SparkSession \
     .builder \
     .appName("Python Spark SQL basic example") \
     .config("spark.some.config.option", "some-value") \
     .getOrCreate()
  2. ติดต่อ MySQL และสร้าง View ชื่อ myuser
    myuser=myspark.read.jdbc(url="jdbc:mysql://mysql/mysql",table="user", properties={
     'user': 'user1', 'password': '123456'}
     )
    myuser.createOrReplaceTempView(name="myuser")
  3. จากนั้นก็จะสามารถ Query ข้อมูลที่เก็บไว้มาใช้งานใน Spark ได้
    myspark.sql(sqlQuery="select user,host from myuser where user='user1'").show()

ซึ่งต่อจากนี้ จะสามารถใช้ความสามารถของ Spark ซึ่งทำงานด้าน Distributed Computing ได้ดี มาปรับปรุงความเร็วในการ Query ที่ซับซ้อน เช่นการ JOIN ได้ โดยจะกล่าวในบทความต่อๆไป