草庐IT

sparking

全部标签

apache-spark - 当 Spark 意识到不再使用 RDD 时,它会取消持久化 RDD 本身吗?

当我们想要多次使用它时,我们可以将RDD持久化到内存和/或磁盘中。但是,我们以后是否必须自己取消持久化,或者Spark是否会进行某种垃圾收集并在不再需要RDD时取消持久化?我注意到如果我自己调用unpersist函数,我的性能会变慢。 最佳答案 是的,ApacheSpark会在RDD被垃圾回收时取消持久化。在RDD.persist你可以看到:sc.cleaner.foreach(_.registerRDDForCleanup(this))这会将对RDD的WeakReference放入ReferenceQueue中,指向Context

scala - 如何为每个分区具有相同数量元素的大小相同的分区的 Spark RDD 定义自定义分区程序?

我是Spark的新手。我有一个很大的元素[RDD]数据集,我想将它分成两个大小完全相等的分区,以保持元素的顺序。我尝试使用RangePartitioner之类的vardata=partitionedFile.partitionBy(newRangePartitioner(2,partitionedFile))这不会给出令人满意的结果,因为它粗略地划分但不完全相等,以保持元素的顺序。例如如果有64个元素,我们使用Rangepartitioner,然后分为31个元素和33个元素。我需要一个分区器,这样我就可以在一半中准确地获得前32个元素,而另一半包含第二组32个元素。你能帮我建议一下如何

apache-spark - MapReduce 还是 Spark?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我已经用cloudera测试了hadoop和mapreduce,我发现它很酷,我认为我是最新的和相关的BigData解决方案。但是几天前,我发现了这个:https://spark.incubator.apache.org/一个“闪电般快速的集群计算系统”,能够在Hadoop集群的顶部工作,并且显然能够碾压mapreduce。我看到它在RAM中比mapreduce更有效。我认为当您必须进行集

apache-spark - 将 Spark 数据帧保存为 Hive 中的动态分区表

我有一个示例应用程序,用于将csv文件读取到数据框中。可以使用以下方法将数据框以Parquet格式存储到Hive表中df.saveAsTable(tablename,mode)。上面的代码工作正常,但我每天都有太多数据,所以我想根据创建日期(表中的列)对配置单元表进行动态分区。有什么方法可以动态分区数据框并将其存储到配置单元仓库中。想要避免使用hivesqlcontext.sql(insertintotablepartittioinby(date)......)对插入语句进行硬编码。问题可以被认为是对:HowtosaveDataFramedirectlytoHive?的扩展非常感谢任何

hadoop - Spark 无法为您的平台加载 native hadoop 库

我是Ubuntu16.04的傻瓜,拼命想让Spark工作。我试图使用在stackoverflow上找到的答案来解决我的问题,但我无法解决任何问题。从bin文件夹中使用命令./spark-shell启动spark我收到此消息WARNNativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...usingbuiltin-javaclasseswhereapplicable".我使用的Java版本是javaversion"1.8.0_101Java(TM)SERuntimeEnvironment(build1.8.0_1

apache-spark - Parquet 格式的架构演变

目前我们在生产中使用Avro数据格式。在使用Avro的几个优点中,我们知道它在模式演化方面是好的。现在我们正在评估Parquet格式因为它在读取随机列时的效率。所以在前进之前我们的关注点仍然是架构演化.有谁知道在Parquet中是否可以进行模式演变,如果是的话如何是否有可能,如果没有,则为什么不是。一些resources声称这是可能的,但它只能在末尾添加列.这是什么意思? 最佳答案 模式演变可能(非常)昂贵。为了找出模式,您基本上必须读取所有Parquet文件并在读取期间协调/合并它们的模式,这可能会很昂贵,具体取决于数据集中有多少

apache-spark - SparkSQL 与 Hive on Spark - 区别和优缺点?

SparkSQLCLI在内部使用HiveQL,如果Hiveonspark(HIVE-7292),hive使用spark作为后端引擎。有人可以更清楚地说明这两种情况到底有何不同以及两种方法的优缺点吗? 最佳答案 当SparkSQL使用hive时SparkSQL可以使用HiveMetastore获取存储在HDFS中的数据的元数据。此元数据使SparkSQL能够更好地优化它执行的查询。这里的Spark是查询处理器。当Hive使用Spark时SeetheJIRAentry:HIVE-7292这里的数据是通过spark访问的。Hive是查询处

hadoop - 当应用程序 jar 在 hdfs 中时,Spark-submit 不起作用

我正在尝试使用bin/spark-submit运行一个spark应用程序。当我在我的本地文件系统中引用我的应用程序jar时,它可以工作。但是,当我将应用程序jar复制到hdfs中的目录时,出现以下异常:Warning:Skipremotejarhdfs://localhost:9000/user/hdfs/jars/simple-project-1.0-SNAPSHOT.jar.java.lang.ClassNotFoundException:com.example.SimpleApp命令如下:$./bin/spark-submit--classcom.example.SimpleAp

hadoop - 如何知道在 YARN 客户端模式下带有 spark-shell 的 ClosedChannelException 的原因是什么?

我一直在尝试在YARNclient模式下运行spark-shell,但我遇到了很多ClosedChannelException错误。我正在为Hadoop2.6使用spark2.0.0build。以下是异常(exception)情况:$spark-2.0.0-bin-hadoop2.6/bin/spark-shell--masteryarn--deploy-modeclientSettingdefaultloglevelto"WARN".Toadjustlogginglevelusesc.setLogLevel(newLevel).16/09/1314:12:36WARNutil.Nat

hadoop - 无法使用 Spark 从 HDFS 读取文件

我已经使用clouderamanager安装了clouderaCDH5。我可以轻松做到hadoopfs-ls/input/war-and-peace.txthadoopfs-cat/input/war-and-peace.txt上述命令将在控制台上打印整个txt文件。现在我启动sparkshell并说valtextFile=sc.textFile("hdfs://input/war-and-peace.txt")textFile.count现在我得到一个错误Spark上下文以sc形式提供。scala>valtextFile=sc.textFile("hdfs://input/war-a