การวิเคราะห์ข้อมูลขนาดใหญ่ - การรวบรวมข้อมูล

การรวบรวมข้อมูลมีบทบาทสำคัญที่สุดในวงจรข้อมูลขนาดใหญ่ อินเทอร์เน็ตมีแหล่งข้อมูลที่ไม่ จำกัด เกือบสำหรับหัวข้อต่างๆ ความสำคัญของพื้นที่นี้ขึ้นอยู่กับประเภทของธุรกิจ แต่อุตสาหกรรมดั้งเดิมสามารถได้รับแหล่งข้อมูลภายนอกที่หลากหลายและรวมเข้ากับข้อมูลธุรกรรมของพวกเขา

ตัวอย่างเช่นสมมติว่าเราต้องการสร้างระบบแนะนำร้านอาหาร ขั้นตอนแรกคือการรวบรวมข้อมูลในกรณีนี้รีวิวร้านอาหารจากเว็บไซต์ต่างๆและจัดเก็บไว้ในฐานข้อมูล เนื่องจากเราสนใจข้อความดิบและจะใช้สิ่งนั้นในการวิเคราะห์จึงไม่เกี่ยวข้องกับที่ข้อมูลสำหรับการพัฒนาโมเดลจะถูกจัดเก็บ สิ่งนี้อาจฟังดูขัดแย้งกับเทคโนโลยีหลักของข้อมูลขนาดใหญ่ แต่ในการใช้งานแอปพลิเคชันข้อมูลขนาดใหญ่เราจำเป็นต้องทำให้มันทำงานได้แบบเรียลไทม์

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