Я пытаюсь проанализировать журналы NASA-HTTP с помощью SparkR / SparklyR, в зависимости от того, что я могу. Я не могу заставить его работать.
Журналы NASA-HTTP выглядят так
ix-stp-fl2-19.ix.netcom.com - - [03/Aug/1995:23:03:09 -0400] "GET /images/faq.gif HTTP/1.0" 200 263
slip183-1.kw.jp.ibm.net - - [04/Aug/1995:18:42:17 -0400] "GET /shuttle/missions/sts-70/images/DSC-95EC-0001.gif HTTP/1.0" 200 107133
piweba4y.prodigy.com - - [05/Aug/1995:19:17:41 -0400] "GET /icons/menu.xbm HTTP/1.0" 200 527
Я смог сделать это с Pyspark, используя regexp_extract следующим образом
split_df = base_df.select(regexp_extract('value', r'^([^\s]+\s)', 1).alias('host'),
regexp_extract('value', r'^.*\[(\d\d\/\w{3}\/\d{4}:\d{2}:\d{2}:\d{2} -\d{4})]', 1).alias('timestamp'),
....
Я пытаюсь сделать это с помощью SparkR / Sparkly R и не добился прогресса
# Initiate a SparkR session
sparkR.session()
sc <- sparkR.init()
sqlContext <- sparkRSQL.init(sc)
df <- read.text(sqlContext, "/FileStore/tables/NASA_access_log*.gz")
Пробовал пару вещей, но бесполезно
sparkR.session()
sc <- sparkR.init()
sqlContext <- sparkRSQL.init(sc)
df <- read.text(sqlContext, "/FileStore/tables/NASA_access_log*.gz")
dim(df)
df %>% select(df,regexp_extract('\\\\S'),1)
Пожалуйста, дайте мне знать, как продвинуться в использовании регулярных выражений на фрейме данных.
Спасибо
Ганеш