Я новичок в Spark, SparkR и вообще во всех технологиях, связанных с HDFS. Недавно я установил Spark 1.5.0 и запустил простой код с помощью SparkR:
Sys.setenv(SPARK_HOME="/private/tmp/spark-1.5.0-bin-hadoop2.6")
.libPaths("/private/tmp/spark-1.5.0-bin-hadoop2.6/R/lib")
require('SparkR')
require('data.table')
sc <- sparkR.init(master="local")
sqlContext <- sparkRSQL.init(sc)
hiveContext <- sparkRHive.init(sc)
n = 1000
x = data.table(id = 1:n, val = rnorm(n))
Sys.time()
xs <- createDataFrame(sqlContext, x)
Sys.time()
Код выполняется немедленно. Однако, когда я меняю его на n = 1000000
, это занимает около 4 минут (время между двумя вызовами Sys.time()
). Когда я проверяю эти задания в консоли на порту: 4040, задание для n = 1000
имеет продолжительность 0,2 с, а задание для n = 1000000
0,3 с. Я делаю что-то неправильно?