การวิเคราะห์ข้อมูลขนาดใหญ่ - การรวบรวมข้อมูล
การรวบรวมข้อมูลมีบทบาทสำคัญที่สุดในวงจรข้อมูลขนาดใหญ่ อินเทอร์เน็ตมีแหล่งข้อมูลที่ไม่ จำกัด เกือบสำหรับหัวข้อต่างๆ ความสำคัญของพื้นที่นี้ขึ้นอยู่กับประเภทของธุรกิจ แต่อุตสาหกรรมดั้งเดิมสามารถได้รับแหล่งข้อมูลภายนอกที่หลากหลายและรวมเข้ากับข้อมูลธุรกรรมของพวกเขา
ตัวอย่างเช่นสมมติว่าเราต้องการสร้างระบบแนะนำร้านอาหาร ขั้นตอนแรกคือการรวบรวมข้อมูลในกรณีนี้รีวิวร้านอาหารจากเว็บไซต์ต่างๆและจัดเก็บไว้ในฐานข้อมูล เนื่องจากเราสนใจข้อความดิบและจะใช้สิ่งนั้นในการวิเคราะห์จึงไม่เกี่ยวข้องกับที่ข้อมูลสำหรับการพัฒนาโมเดลจะถูกจัดเก็บ สิ่งนี้อาจฟังดูขัดแย้งกับเทคโนโลยีหลักของข้อมูลขนาดใหญ่ แต่ในการใช้งานแอปพลิเคชันข้อมูลขนาดใหญ่เราจำเป็นต้องทำให้มันทำงานได้แบบเรียลไทม์
Twitter Mini Project
เมื่อกำหนดปัญหาแล้วขั้นตอนต่อไปนี้คือการรวบรวมข้อมูล แนวคิดโครงการย่อส่วนต่อไปนี้คือการรวบรวมข้อมูลจากเว็บและจัดโครงสร้างเพื่อใช้ในโมเดลการเรียนรู้ของเครื่อง เราจะรวบรวมทวีตบางส่วนจาก twitter rest API โดยใช้ภาษาโปรแกรม R
ก่อนอื่นให้สร้างบัญชี Twitter จากนั้นทำตามคำแนะนำในไฟล์ twitteRแพคเกจวิกเน็ตต์เพื่อสร้างบัญชีผู้พัฒนา Twitter นี่คือบทสรุปของคำแนะนำเหล่านั้น -
ไปที่ https://twitter.com/apps/new และเข้าสู่ระบบ
หลังจากกรอกข้อมูลพื้นฐานแล้วให้ไปที่แท็บ "การตั้งค่า" แล้วเลือก "อ่านเขียนและเข้าถึงข้อความส่วนตัว"
อย่าลืมคลิกที่ปุ่มบันทึกหลังจากทำสิ่งนี้
ในแท็บ "รายละเอียด" ให้จดรหัสผู้บริโภคและความลับของผู้บริโภค
ในเซสชัน R ของคุณคุณจะใช้คีย์ API และค่าลับของ API
สุดท้ายเรียกใช้สคริปต์ต่อไปนี้ สิ่งนี้จะติดตั้งไฟล์twitteR แพ็กเกจจากที่เก็บบน github
install.packages(c("devtools", "rjson", "bit64", "httr"))
# Make sure to restart your R session at this point
library(devtools)
install_github("geoffjentry/twitteR")
เราสนใจที่จะรับข้อมูลที่รวมสตริง "big mac" และค้นหาว่าหัวข้อใดโดดเด่นในเรื่องนี้ ในการดำเนินการขั้นตอนแรกคือการรวบรวมข้อมูลจาก twitter ด้านล่างนี้เป็นสคริปต์ R ของเราเพื่อรวบรวมข้อมูลที่จำเป็นจาก twitter โค้ดนี้มีอยู่ในไฟล์ bda / part1 / collect_data / collect_data_twitter.R
rm(list = ls(all = TRUE)); gc() # Clears the global environment
library(twitteR)
Sys.setlocale(category = "LC_ALL", locale = "C")
### Replace the xxx’s with the values you got from the previous instructions
# consumer_key = "xxxxxxxxxxxxxxxxxxxx"
# consumer_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# access_token = "xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# access_token_secret= "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Connect to twitter rest API
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_token_secret)
# Get tweets related to big mac
tweets <- searchTwitter(’big mac’, n = 200, lang = ’en’)
df <- twListToDF(tweets)
# Take a look at the data
head(df)
# Check which device is most used
sources <- sapply(tweets, function(x) x$getStatusSource())
sources <- gsub("</a>", "", sources)
sources <- strsplit(sources, ">")
sources <- sapply(sources, function(x) ifelse(length(x) > 1, x[2], x[1]))
source_table = table(sources)
source_table = source_table[source_table > 1]
freq = source_table[order(source_table, decreasing = T)]
as.data.frame(freq)
# Frequency
# Twitter for iPhone 71
# Twitter for Android 29
# Twitter Web Client 25
# recognia 20