Spark #03: Query Apache Access Log with Spark SQL

ต่อจาก

บทความนี้ จะกล่าวถึงการนำเข้าไฟล์ Apache Access Log เข้าไปเก็บไว้ใน Hadoop HDFS แล้ว ให้ Apache Spark Cluster เข้าไปค้นหาข้อมูล โดยใช้ภาษา SQL ผ่าน Spark SQL API

นำ Apache Access Log เข้า HDFS

  1. ให้ Copy Apache Access Log ที่มีอยู่มาเก็บไว้ในเครื่องที่สามารถติดต่อ Hadoop HDFS ได้ (ในที่นี้ ชื่อไฟล์เป็น apache.access.log)
  2. ใช้คำสั่งต่อไป
    (แทน /test/ ด้วย Path ที่สร้างไว้ใน HDFS)

    hdfs dfs -copyFromLocal apache.access.log /test/
  3. เมื่อไปดูผ่าน Web UI ของ Hadoop HDFS ก็จะเห็นไฟล์อยู่ดังนี้

วิธี Query ข้อมูลจาก Zeppelin ไปยัง Spark Cluster

  1. เปิด Zeppelin Web UI แล้วสร้าง Note ใหม่ โดยคลิกที่ Create new node
    แล้วใส่ชื่อ Note เช่น Query Apache Access Log
    ตั้ง Default Interpreter เป็น Spark
    แล้วคลิก Create Note
  2. ใส่ Code ต่อไปนี้ลงไป
  3. ด้านขวามือบน จะมีรูปเฟือง ให้คลิก แล้วเลือก Insert New
  4. แล้วใส่ข้อความนี้ลงไป
  5. จากนั้นคลิก Run all paragraphs
  6. ผลที่ได้

ตอนต่อไปจะมาอธิบายวิธีการเขียนคำสั่งครับ