使用SparkR(或其他方法?)对大型数据集进行非线性回归

使用SparkR(或其他方法?)对大型数据集进行非线性回归,r,apache-spark,sparkr,non-linear-regression,R,Apache Spark,Sparkr,Non Linear Regression,我试图在一个非常大的数据集上运行一个非线性回归(NLR)。对于较小的测试数据集,我在R中有工作代码,我正在尝试将其移植到SparkR 我对Spark(R或其他)是新手 R(我的工作代码): 经过一点操作后,我获得R-DataFramedf,并运行以下NLR: nls(y1 ~ b0/(1+exp(b1+b2*y2+b3*y3)),df) 斯巴克: 在使用csv包启动SparkR之后($SparkR--packages com.databricks:spark-csv_2.11:1.3.0)

我试图在一个非常大的数据集上运行一个非线性回归(NLR)。对于较小的测试数据集,我在R中有工作代码,我正在尝试将其移植到SparkR

我对Spark(R或其他)是新手


R(我的工作代码): 经过一点操作后,我获得R-DataFrame
df
,并运行以下NLR:

nls(y1 ~ b0/(1+exp(b1+b2*y2+b3*y3)),df)

斯巴克: 在使用csv包启动SparkR之后(
$SparkR--packages com.databricks:spark-csv_2.11:1.3.0
),我已经成功地创建了SparkR数据框,并将线性回归作为测试用例运行

customSchema <- structType(...)
spk_df = read.df(sqlContext, path, header='true', source = "com.databricks.spark.csv", schema=customSchema)
test_linear_model <- glm(y1 ~ y2 + y3, data = spk_df)
summary(test_linear_model)
有更好的解决方案吗?这让我有点紧张,因为虽然原则上文件的行数/顺序都应该相同,但我担心有时可能会出现不好的图像

想法

谢谢

$ dd if=/dev/random of=rsource count=150000
$ N=500000
$ gshuf -n $N --random-source rsource first.csv > first_sample.csv
$ gshuf -n $N --random-source rsource second.csv > second_sample.csv
$ gshuf -n $N --random-source rsource third.csv > third_sample.csv