2015-09-02 2 views
2

У меня есть искра-1.4.1-bin-hadoop2.6, развернутая в локальном режиме, я читаю входной файл JSON из HDFS. Но методы метода SparkR dataFrame read.df не могут загружать данные из HDFS.Как читать файл json/csv в SparkR?

1) "read.df" сообщение об ошибке

< данных - read.df ("/ данные/sample.json") # ввод от HDFS

15/09/01 18:19:38 ERROR r.RBackendHandler: loadDF on org.apache.spark.sql.api.r.SQLUtils failed 
java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:483) 
     at org.apache.spark.api.r.RBackendHandler.handleMethodCall(RBackendHandler.scala:142) 
     at org.apache.spark.api.r.RBackendHandler.channelRead0(RBackendHandler.scala:74) 
     at org.apache.spark.api.r.RBackendHandler.channelRead0(RBackendHandler.scala:36) 
     at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) 
     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) 
     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) 
     at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) 
     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) 
     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) 
     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163) 
     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) 
     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) 
     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) 
     at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130) 
     at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) 
     at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) 
     at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 
     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 
     at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) 
     at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: java.util.NoSuchElementException: key not found: path 
     at scala.collection.MapLike$class.default(MapLike.scala:228) 
     at org.apache.spark.sql.sources.CaseInsensitiveMap.default(ddl.scala:467) 
     at scala.collection.MapLike$class.apply(MapLike.scala:141) 
     at org.apache.spark.sql.sources.CaseInsensitiveMap.apply(ddl.scala:467) 
     at org.apache.spark.sql.sources.ResolvedDataSource$.apply(ddl.scala:273) 
     at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:114) 
     at org.apache.spark.sql.api.r.SQLUtils$.loadDF(SQLUtils.scala:147) 
     at org.apache.spark.sql.api.r.SQLUtils.loadDF(SQLUtils.scala) 
     ... 25 more 
Error: returnStatus == 0 is not TRUE 

Спасибо Adv.

ответ

0

< данные - read.json ("/ данные/sample.json")

+1

Пожалуйста, добавьте также некоторые объяснения? –

0

Вам нужно вызвать sqlContext.

Пример:

data <- read.df(sqlContext, "/data/sample.json","json") 

Он работал для меня на примере dataframe.R с people.json.

Смежные вопросы