jjzjj

scala - 序列化和自定义 Spark RDD 类

我正在用Scala编写自定义SparkRDD实现,并且正在使用Sparkshell调试我的实现。我现在的目标是:customRDD.count毫无异常(exception)地成功。现在这就是我得到的:15/03/0623:02:32INFOTaskSchedulerImpl:Addingtaskset0.0with1tasks15/03/0623:02:32ERRORTaskSetManager:Failedtoserializetask0,notattemptingtoretryit.java.lang.reflect.InvocationTargetExceptionatsun.r

hadoop - 基于部分HBase行创建RDD

我正在尝试根据HBase表中的数据创建RDD:valtargetRDD=sparkContext.newAPIHadoopRDD(hBaseConfig,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result]).map{case(key,row)=>parse(key,row)}parse为每个表行调用,不考虑对数据的进一步操作。是否可以仅检索具有匹配某些条件(即键在某些特定范围内)的特定键的行,以便仅对它们进行操作? 最佳答案 HBase是

json - spark.RDD take(n) 返回元素n的数组,n次

我正在使用来自https://github.com/alexholmes/json-mapreduce的代码将多行json文件读入RDD。vardata=sc.newAPIHadoopFile(filepath,classOf[MultiLineJsonInputFormat],classOf[LongWritable],classOf[Text],conf)我打印出前n个元素来检查它是否正常工作。data.take(n).foreach{p=>val(line,json)=pprintlnprintln(newJSONObject(json.toString).toString(4)

Spark---RDD算子(单值类型Value)

文章目录1.RDD算子介绍2.转换算子2.1Value类型2.1.1map2.1.2mapPartitions2.1.3mapPartitionsWithIndex2.1.4flatMap2.1.5glom2.1.6groupBy2.1.7filter2.1.8sample2.1.9distinct2.1.10coalesce2.1.11repartition2.1.12sortBy1.RDD算子介绍RDD算子是用于对RDD进行转换(Transformation)或行动(Action)操作的方法或函数。通俗来讲,RDD算子就是RDD中的函数或者方法,根据其功能,RDD算子可以分为两大类:转换算

hadoop - java.io.NotSerializableException : org. apache.spark.InterruptibleIterator 在 spark java 中执行 mapPartition() 时

我正在尝试对示例数据执行简单的SparkRDD转换mapPartition()。但在这个过程中,我得到了java.io.NotSerializableException:org.apache.spark.InterruptibleIterator异常。这是我的异常(exception):java.io.NotSerializableException:org.apache.spark.InterruptibleIteratorSerializationstack:-objectnotserializable(class:org.apache.spark.InterruptibleIte

python - 无法将收集的 RDD 保存到驱动程序的本地文件系统

我试图在调用collect()之后保存一个RDD。我在Host-1上调用spark-submit(我假设Driver是我从中调用spark-submit脚本的主机,所以在这种情况下Host-1是驱动程序),从HBase获取一些数据,在其上运行一些操作然后在RDD上调用collect()并迭代收集的列表并将其保存到本地文件系统文件。本质上:if__name__=="__main__":sc=SparkContext(appName="HBaseInputFormat")#readthedatafromhbase#...#...output=new_rdd.collect()withope

hadoop - 如何将 spark rdd 保存到 avro 文件

我正在尝试将rdd保存到avro格式的文件中。这是我的代码的样子:valoutput=s"/test/avro/${date.toString(dayFormat)}"rmr(output)//deleteingthepathrdd.coalesce(64).saveAsNewAPIHadoopFile(output,classOf[org.apache.hadoop.io.NullWritable],classOf[PageViewEvent],classOf[AvroKeyValueOutputFormat[org.apache.hadoop.io.NullWritable,Pag

hadoop - Apache Spark JDBCRDD 使用 HDFS 吗?

ApacheSparkJDBCRDD是否使用HDFS来存储数据库记录并将其分发到工作节点?我们正在使用JdbcRDD与apachespark上的数据库进行交互。我们想知道ApacheSpark是使用HDFS来分发和存储数据库表记录还是工作节点直接与数据库交互。 最佳答案 JdbcRDD不使用HDFS,直接从JDBC连接读取数据到worker内存中的RDD。如果您想要HDFS上的结果,您必须明确地将RDD持久化到HDFS。你可以在这里看到JdbcRDD是如何运作的https://github.com/apache/spark/blob

web-services - 将 Spark RDD 上传到 REST webservice POST 方法

坦率地说,我不确定这个功能是否存在?抱歉我的要求是每天将spark分析数据发送到文件服务器,文件服务器支持通过SFTP和RESTWebservicepost调用进行文件传输。最初的想法是将SparkRDD保存到HDFS,通过SFTP传输到文件服务器。我想知道是否可以通过从spark驱动程序类调用REST服务直接上传RDD而无需保存到HDFS。数据大小小于2MB抱歉我的英语不好! 最佳答案 Spark没有特定的方法来做到这一点。对于这种数据大小,通过HDFS或其他类型的存储是不值得的。您可以在驱动程序的内存中收集该数据并直接发送。对于

scala - 是否可以在 HDFS 上持久化 RDD?

我知道RDD可以持久化/缓存在内存、磁盘或两者上,但是否也可以将其持久化到HDFS上。我面临的问题是我的集群上的内存和磁盘空间太少,而我的HDFS空间很大。 最佳答案 RDD持久化只能在工作机器(内存和磁盘)内进行。一些持久性级别在集群中的其他工作机器中复制RDD。从今天开始,为了在HDFS中持久化RDD/DataFrame,我们只能使用写入API。写入HDFS://WritingDataFramedf.write.save("hdfs://namenode_host:port/file/path");//WritingRDDrdd