草庐IT

Spark-DataFrame

全部标签

scala - 如何使用 Apache Spark 计算准确的中位数?

这page包含一些统计函数(均值、标准差、方差等)但不包含中位数。如何计算准确的中位数? 最佳答案 需要对RDD进行排序,取两个元素的中间或者平均值。这是RDD[Int]的例子:importorg.apache.spark.SparkContext._valrdd:RDD[Int]=???valsorted=rdd.sortBy(identity).zipWithIndex().map{case(v,idx)=>(idx,v)}valcount=sorted.count()valmedian:Double=if(count%2==0

hadoop - Spark RDD - 分区总是在 RAM 中吗?

我们都知道Spark在内存中进行计算。我只是对以下内容感到好奇。如果我从HDFS在我的pySparkshell中创建10个RDD,这是否意味着所有这10个RDD的数据都将驻留在SparkWorkers内存中?如果不删除RDD,它会永远存在内存中吗?如果我的数据集(文件)大小超过可用RAM大小,数据将存储在哪里? 最佳答案 IfIcreate10RDDinmypySparkshellfromHDFS,doesitmeanallthese10RDDdatawillresideonSparkMemory?是的,所有10个RDD数据都将散布

database - Spark : run InputFormat as singleton

我正在尝试将键值数据库集成到Spark中并有一些问题。我是Spark初学者,阅读了很多书并运行了一些示例,但什么也没有复杂。场景:我正在使用小型hdfs集群将传入消息存储在数据库中。集群有5个节点,数据被拆分为5个分区。每个分区存储在单独的数据库文件中。因此每个节点都可以处理它自己的数据分区。问题:数据库软件的接口(interface)基于JNI,数据库本身是在C中实现。由于技术原因,数据库软件可以维护一次只有一个事件连接。只能有一个JVM进程已连接到数据库。由于这个限制,读取和写入数据库必须去通过相同的JVM进程。(背景信息:数据库嵌入到流程中。它是基于文件的,并且一次只能有一个进程

caching - 缓存是 spark 相对于 map-reduce 的唯一优势吗?

我已经开始学习ApacheSpark,并且对该框架印象深刻。尽管一直困扰我的一件事是,在所有Spark演示中,他们都在谈论Spark如何缓存RDD,因此需要相同数据的多个操作比MapReduce等其他方法更快。所以我的问题是,如果是这种情况,那么只需在Yarn/Hadoop等MR框架内添加一个缓存引擎即可。为什么要完全创建一个新框架?我确定我在这里遗漏了一些东西,您将能够向我指出一些文档,这些文档可以让我更多地了解spark。 最佳答案 在内存计算中缓存+对于spark来说绝对是个大事情,但是还有其他事情。RDD(Resilient

hadoop - Apache Spark 如何知道 HDFS 数据节点?

假设我对托管在HDFS中的文件执行一些Spark操作。像这样:varfile=sc.textFile("hdfs://...")valitems=file.map(_.split('\t'))...因为在Hadoop世界中,代码应该放在数据所在的地方,对吗?所以我的问题是:Sparkworkers如何知道HDFS数据节点?Spark如何知道在哪些数据节点上执行代码? 最佳答案 Spark重用Hadoop类:当您调用textFile时,它会创建一个TextInputFormat它有一个getSplits方法(拆分大致是一个分区或blo

Hadoop MapReduce vs MPI(vs Spark vs Mahout vs Mesos)——什么时候使用其中一个?

我是并行计算的新手,刚开始在AmazonAWS上试用MPI和Hadoop+MapReduce。但我对何时使用一个而不是另一个感到困惑。例如,我看到的一个常见的经验法则建议可以概括为...大数据、非迭代、容错=>MapReduce速度、小数据、迭代、非Mapper-Reducer类型=>MPI但是,我还看到了MPI(MR-MPI)上的MapReduce实现,它不提供容错,但是seemstobe在某些基准测试中比Hadoop上的MapReduce更高效,并且似乎使用核外内存处理大数据。相反,新一代HadoopYarn及其分布式文件系统(HDFS)上也有MPI实现(MPICH2-YARN)。

hadoop - 在 Yarn 集群上运行 Spark 作业

我想在HadoopYARN集群模式下运行我的spark作业,我正在使用以下命令:spark-submit--masteryarn-cluster--driver-memory1g--executor-memory1g--executor-cores1--classcom.dc.analysis.jobs.AggregationJobsparkanalitic.jarparam1param2param3我在下面收到错误,请提示出了什么问题,命令是否正确。我正在使用CDH5.3.1。Diagnostics:Applicationapplication_1424284032717_0066f

apache-spark - 如何读取 Spark 中的嵌套集合

我有一个Parquet表,其中一列是,array>可以使用LATERALVIEW语法在Hive中针对此表运行查询。如何将此表读入RDD,更重要的是如何在Spark中过滤、映射此嵌套集合?在Spark文档中找不到对此的任何引用。提前感谢您提供任何信息!附言。我觉得在桌面上提供一些统计数据可能会有所帮助。主表中的列数~600。行数~200m。嵌套集合中的“列”数~10。嵌套集合中的平均记录数约为35。 最佳答案 嵌套集合没有什么神奇之处。Spark将以相同的方式处理RDD[(String,String)]和RDD[(String,Seq

apache-spark - 如何在没有 hive-site.xml 的情况下将 Spark SQL 连接到远程 Hive Metastore(通过节俭协议(protocol))?

我将HiveContext与SparkSQL一起使用,并且我正在尝试连接到远程Hive元存储,设置Hive元存储的唯一方法是在类路径中包含hive-site.xml(或将其复制到/etc/spark/conf/).有没有办法在不包含hive-site.xml的情况下以编程方式在java代码中设置此参数?如果是这样,要使用什么Spark配置? 最佳答案 对于Spark1.x,您可以设置:System.setProperty("hive.metastore.uris","thrift://METASTORE:9083");finalSp

scala - Spark : what options can be passed with DataFrame. saveAsTable 或 DataFrameWriter.options?

开发人员和API文档均未包含有关可以在DataFrame.saveAsTable或DataFrameWriter.options中传递哪些选项的任何引用,它们会影响Hive的保存table。我希望在这个问题的答案中,我们可以汇总有助于Spark开发人员的信息,他们希望更好地控制Spark保存表的方式,并可能为改进Spark的文档提供基础。 最佳答案 您在任何地方都看不到options文档的原因是它们是特定于格式的,开发人员可以使用一组新的options继续创建自定义写入格式。但是,对于少数支持的格式,我列出了spark代码本身提到的