Spark #04 – Pyspark connect to MySQL

ในบทความนี้ จะกล่าวถึง การดึงข้อมูลจาก MySQL ผ่าน JDBC เพื่อนำมาใช้งานใน Spark ด้วยภาษา Python ซึ่งจะใช้ Library Pyspark ในขั้นตอนนี้ขอกล่าวเฉพาะวิธีการก่อน (รายละเอียดจะตามมาทีหลัง) สร้าง SparkSession ตั้งชื่อว่า myspark from pyspark.sql import SparkSession myspark = SparkSession \ .builder \ .appName(“Python Spark SQL basic example”) \ .config(“spark.some.config.option”, “some-value”) \ .getOrCreate() ติดต่อ MySQL และสร้าง View ชื่อ myuser myuser=myspark.read.jdbc(url=”jdbc:mysql://mysql/mysql”,table=”user”, properties={ ‘user’: ‘user1’, ‘password’: ‘123456’} ) myuser.createOrReplaceTempView(name=”myuser”) จากนั้นก็จะสามารถ Query … Read more

ELK #6 วิธีการติดตั้ง ELK และ Geoserver แบบ Docker ให้ทำงานร่วมกัน

จาก ELK #5 การประยุกต์ใช้ ELK ในงานด้าน GIS และ การสร้าง Web Map Service (WMS) บน Geoserver ก็จะเห็นถึงการนำไปใช้เบื้องต้น >> ขอบคุณ คุณนพัส กังวานตระกูล สถานวิจัยสารสนเทศภูมิศาสตร์ทรัพยากรธรรมชาติและสิ่งแวดล้อม ศูนย์ภูมิภาคเทคโนโลยีอวกาศและภูมิสารสนเทศ (ภาคใต้) สำหรับความรู้มากมายครับ <<   ต่อไปนี้ จะเป็นขั้นตอนการติดตั้ง ELK และ Geoserver แบบ Docker โดยผมได้สร้าง Github Repository เอาไว้ ซึ่งได้แก้ไขให้ระบบสามารถเก็บข้อมูลไว้ภายนอก Prerequisite ถ้าเป็น Windows ก็ต้องติดตั้ง Docker Toolbox หรือ Docker for Windows ให้เรียบร้อย ถ้าเป็น Linux ก็ติดตั้ง docker-ce ให้เรียบร้อย (เรียนรู้เกี่ยวกับ Docker ได้จาก ติดตั้ง docker … Read more

ELK #5 การประยุกต์ใช้ ELK ในงานด้าน GIS

คราวนี้ มาดูการประยุกต์ใช้ ELK ในงานด้าน GIS ต่อจาก ELK #01 > ELK #02 > ELK #03 > ELK #04 ซึ่งเป็นการติดตั้งทั้งหมด คราวนี้มาดูการประยุกต์ใช้งานกันบ้าง โจทย์มีอยู่ว่า มีการไปเก็บข้อมูลในภาคสนาม แล้วมีการบันทึก พิกัดด้วย GPS เป็น Latitude กับ Longitude พร้อมกับค่าบางอย่าง ทั้งหมดถูกเก็บไว้ในฐานข้อมูล MySQL การนำข้อมูลเข้า ELK ก็เลย Export ข้อมูลจาก MySQL มาเป็น CSV File ประกอบด้วย id,LATITUDE,LONGITUDE,something ตัวอย่างข้อมูล มีดังนี้ id,LATITUDE,LONGITUDE,something 1,6.97585,100.448963,100 2,6.975627,100.450841,19 3,6.973472,100.449196,65 4,6.973468,100.449104,53 5,6.973455,100.449135,33 6,6.973252,100.44888,13 7,6.985862,100.45292,85 8,6.993386,100.416214,90 9,7.005465,100.447984,1 นำข้อมูลเข้า ELK ผ่านทาง Logstash ใน  ELK #2 ได้อธิบายขั้นตอนการติดตั้ง Logstash ไว้แล้วนั้น … Read more

Ambari #02 ติดตั้ง Ambari Agent

ต่อจาก Ambari #01: ติดตั้ง Ambari Server ในบทความนี้ จะขอนำเสนอการติดตั้ง Ambari version 2.5.1 จาก HortonWorks ซึ่งจะทำงานกับ Hortonworks Data Platform (HDP)  2.6 โดยติดตั้งบน Ubuntu 16.04 ในส่วนของ “Ambari Agent” [2] ติดตั้ง Ubuntu 16.04 Server 64bit สิ่งที่สำคัญมากคือ FQDN หรือการอ้างชื่อเต็มของ host ดังนั้น ในไฟล์ /etc/hosts บรรทัดแรกต้องเป็น Fully Qualified Domain Name เช่น (ห้ามเป็น localhost เด็ดขาด) และถ้าจะให้ดี ควรมี DNS Record บน Name Server ด้วย 127.0.0.1   … Read more

Ambari #01: ติดตั้ง Ambari Server

Apache Ambari เป็นเครื่องมือที่ทำให้การจัดการ Hadoop ง่ายขึ้น [1] แต่การติดตั้ง Apache Ambari เองนั้น (จาก Apache Project) ก็มีความยุ่งยากเล็กน้อย เพราะต้อง Build Source เอง จึงมีบริษัท HortonWorks เค้าไปทำตัว Binary มาให้ download และติดตั้งได้ง่ายกว่า Ambari ประกอบด้วย Ambari Server และ Ambari Agent ซึ่ง Server จะเป็นตัวสั่งการให้ติดตั้ง Hadoop Component ต่างๆลงไปบน Agent ในบทความนี้ จะขอนำเสนอการติดตั้ง Ambari version 2.5.1 จาก HortonWorks ซึ่งจะทำงานกับ Hortonworks Data Platform (HDP)  2.6 โดยติดตั้งบน Ubuntu 16.04 … Read more