草庐IT

sparking

全部标签

scala - 有效地为 spark 实现 takeByKey

我有一个类型为RDD[(k:Int,v:String)]的RDD。我想为每个键k使用最多1000个元组,这样我就有了[(k,v)],其中没有键出现超过1000次。有没有一种方法可以避免先调用groupBy的性能损失?我想不出一种聚合值的好方法,以避免导致我的工作失败的完整groupBy。天真的方法:deftakeByKey(rdd:RDD[(K,V)],n:Int):RDD[(K,V)]={rdd.groupBy(_._1).mapValues(_.take(n)).flatMap(_._2)}我正在寻找一种更有效的方法来避免groupBy:takeByKey(rdd:RDD[(K,V

hadoop - Spark 1.6.1 SASL

我想知道是否有人让SASL在YARN上与Spark1.6.1一起工作?基本上Spark文档声明您只需要启用3个参数:spark.authenticate.enableSaslEncryption=truespark.network.sasl.serverAlwaysEncrypt=truespark.authenticate=truehttp://spark.apache.org/docs/latest/security.html但是,在使用--masteryarn和--deploy-mode客户端启动我的spark作业后,我在我的spark执行程序日志中看到以下内容:6/05/170

java - 安排 Spark 作业 Java

我有一个Spark作业,它读取HBase表、一些聚合并将数据存储到mongoDB。目前此作业正在使用spark-submit脚本手动运行。我想安排它以固定的时间间隔运行。我如何使用java实现此目的。有图书馆吗?或者我可以用Java中的Thread做到这一点吗?任何建议表示赞赏! 最佳答案 如果您仍想使用spark-submit,我宁愿选择crontab或类似的东西,例如运行bash脚本。但是如果您需要从java运行“spark-submit”,您可以查看Packageorg.apache.spark.launcher.通过这种方法

hadoop - YARN 上的 Spark : execute driver without worker

在YARN上运行Spark,集群模式。3个带YARN的数据节点YARN=>32个vCore,32GBRAM我正在这样提交Spark程序:spark-submit\--classcom.blablacar.insights.etl.SparkETL\--name${JOB_NAME}\--masteryarn\--num-executors1\--deploy-modecluster\--driver-memory512m\--driver-cores1\--executor-memory2g\--executor-cores20\toto.jarjson我可以看到2个作业在2个节点上运

python - spark 从 oracle 导入数据 - java.lang.ClassNotFoundException : oracle. jdbc.driver.OracleDriver

在AWSEMR上尝试使用spark从oracle数据库读取数据时,我收到此错误消息:java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver.谁能告诉我是否有人遇到过这个问题以及他们是如何解决的?pyspark--driver-class-path/home/hadoop/ojdbc7.jar--jars/home/hadoop/ojdbc7.jarfrompysparkimportSparkContext,HiveContext,SparkConffrompyspark.sqlimportSQLContextsq

apache-spark - Spark 结构化流式传输蓝/绿部署

我们希望能够部署我们的Spark作业,以便在部署期间处理数据时没有任何停机时间(目前大约有2-3分钟的窗口)。在我看来,最简单的方法是模拟“蓝/绿部署”理念,即启动新版本的Spark作业,让它预热,然后关闭旧作业。但是,对于结构化流和检查点,我们不能这样做,因为新的Spark作业发现最新的检查点文件已经存在(来自旧作业)。我在下面附上了一个示例错误。有人对潜在的解决方法有任何想法吗?我考虑过将现有的检查点目录复制到新创建的作业的另一个检查点目录-虽然这应该作为一种解决方法(一些数据可能会重新处理,但我们的数据库应该重复数据删除),这看起来superhacky和我的东西宁愿不追求。Cau

scala - 为什么这个 LR 代码在 spark 上运行太慢?

因为MLlib不支持稀疏输入。所以我在spark集群上运行支持稀疏输入格式的流动代码。设置是:5个节点,每个节点有8个核心(每个节点上的所有cpu都是100%,98%用于用户模型,运行代码时)。输入:HDFS上的10,000,000+个实例和600,000+个维度代码是:importjava.util.Randomimportscala.collection.mutable.HashMapimportscala.io.Sourceimportorg.apache.spark.SparkContextimportorg.apache.spark.rdd.RDDimportorg.apac

java - 如何将参数传递给 Spark 中 mapPartitions 的用户定义函数?

在Spark中,您可以为mapPartitions使用用户定义的函数。现在我的问题是如何向它传递参数。例如,目前我有这样的东西,它使用rdd.mapPartitions(userdefinedFunc)调用。defuserdefinedFunc(iter:Iterator[(Long,Array[SAMRecord])]):Iterator[(Long,Long)]={valres=scala.collection.mutable.ArrayBuffer.empty[(Long,Long)]//Codehereres.iterator}但是,我还想要一个常量作为该用户定义函数的参数,例

hadoop - spark 超时可能是由于 binaryFiles() 在 HDFS 中有超过 100 万个文件

我正在通过阅读数百万个xml文件valxmls=sc.binaryFiles(xmlDir)该操作在本地运行良好,但在yarn上运行失败:clienttoken:N/Adiagnostics:Applicationapplication_1433491939773_0012failed2timesduetoApplicationMasterforattemptappattempt_1433491939773_0012_000002timedout.Failingtheapplication.ApplicationMasterhost:N/AApplicationMasterRPCpor

python - Apache Spark : Error while starting PySpark

在Centos机器上,Pythonv2.6.6和ApacheSparkv1.2.1尝试运行./pyspark时出现以下错误似乎是python的一些问题,但无法弄清楚15/06/1808:11:16INFOspark.SparkContext:SuccessfullystoppedSparkContextTraceback(mostrecentcalllast):File"/usr/lib/spark_1.2.1/spark-1.2.1-bin-hadoop2.4/python/pyspark/shell.py",line45,insc=SparkContext(appName="PyS