【问题标题】:importing csv file in rstudio from hdfs using sparkR使用 sparkR 从 hdfs 导入 rstudio 中的 csv 文件
【发布时间】:2017-01-12 09:48:57
【问题描述】:

我已将 .csv 文件存储在 Hadoop HDFS 上,

hadoop dfs -ls /afs
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

17/01/12 15:15:49 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 1 item
-rw-r--r--   2 hduser supergroup  203572404 2017-01-10 12:04 /afs/Accounts.csv

我想使用 SparkR 将此文件导入 rstudio。

我尝试了以下命令:

sc<-sparkR.session(master = "spark://MasterNode:7077",appName = "SparkR",sparkHome = "/opt/spark")
sContext<- sparkRSQL.init(sc)
library(data.table)
library(dplyr)

df<- read.df(sContext, "hdfs://MasterNode:54310/afs/Accounts.csv")

发生以下错误:

> df<- read.df(sContext, "hdfs://MasterNode:54310/afs/Accounts.csv")
Error in handleErrors(returnStatus, conn) : 
  No status is returned. Java SparkR backend might have failed.
In addition: Warning message:
In writeBin(requestMessage, conn) : problem writing to connection

请帮助我使用 SparkR 将 Accounts.csv 文件导入 rstudio。

【问题讨论】:

  • 为什么不直接使用github.com/RevolutionAnalytics/rhdfs
  • 我已经安装了 rhdfs。但想使用 sparkR 导入 csv。我的意思是我想使用 R-spark 函数从 hdfs 导入 csv 文件。你能推荐任何可以用来从hdfs导入csv文件的spark函数吗?

标签: r csv hadoop hdfs sparkr


【解决方案1】:

您可以使用data.table 库的fread 函数从HDFS 读取。您必须在系统中指定 hdfs 可执行文件的路径。例如,假设 hdfs 的路径是/usr/bin/hdfs,你可以试试这样:

your_table <- fread("/usr/bin/hdfs dfs -text /afs/Accounts.csv")

如果您的“Accounts.csv”是一个目录,您也可以使用通配符/afs/Accounts.csv/*您还可以指定列类。例如:

your_table <- fread("/usr/bin/hdfs dfs -text /afs/Accounts.csv", fill = TRUE, header = TRUE, 
colClasses = c("numeric", "character", ...))

我希望这会有所帮助。

【讨论】:

  • 感谢您的评论,但是您能告诉我是否使用fread 我可以使用 sparkR 函数处理这些数据还是有任何其他程序可以使用 sparkR 处理数据帧
  • 使用fread,您可以将您的 csv 从 HDFS 加载到 R 中,这样您就可以像使用任何其他 R 对象一样操作它们。如果您只想使用 SparkR 处理数据,则必须使用其他功能来执行数据操作,而无需在 R 会话中加载它们。这真的取决于你想做的事情。
  • Sparklyr (spark.rstudio.com) 是一个不错的包,它还允许您执行此类操作(除了 SparkR)
猜你喜欢
  • 2015-12-11
  • 2016-02-04
  • 2016-09-20
  • 2015-12-28
  • 2016-12-04
  • 1970-01-01
  • 1970-01-01
  • 2018-08-07
  • 1970-01-01
相关资源
最近更新 更多