草庐IT

SCALA_HOME

全部标签

scala - 缓存的 Spark RDD(从序列文件中读取)有无效条目,我该如何解决?

我正在使用Spark(v1.6.1)阅读Hadoop序列文件。缓存RDD后,RDD中的内容变为无效(最后一个条目重复了n次)。这是我的代码片段:importorg.apache.hadoop.io.Textimportorg.apache.hadoop.mapred.SequenceFileOutputFormatimportorg.apache.spark.{SparkConf,SparkContext}objectMain{defmain(args:Array[String]){valseqfile="data-1.seq"valconf:SparkConf=newSparkCon

scala - Spark : scala - how to convert collection from RDD to another RDD

如何将调用take(5)后返回的集合转换为另一个RDD,以便在输出文件中保存前5条记录?如果我使用saveAsTextfile它不允许我一起使用take和saveAsTextFile(这就是为什么你会看到下面注释的行).它按排序顺序存储来自RDD的所有记录,因此前5个记录是前5个国家,但我只想存储前5个记录-是否可以在RDD中转换集合[take(5)]?valStrips=txtFileLines.map(_.split(",")).map(line=>(line(0)+","+(line(7).toInt+line(8).toInt))).sortBy(x=>x.split(",")

scala - 如何优化 spark 函数以将 double 值舍入为 2 位小数?

下面是我的Spark函数,它很简单defdoubleToRound(df:DataFrame,roundColsList:Array[String]):DataFrame={vary:DataFrame=dffor(colDF这按预期工作,通过使给定DF的多个列的值将小数值四舍五入到2个位置。但是我循环遍历DataFramey直到Array[Sting].length()列。有更好的方法来完成上述操作吗?谢谢大家 最佳答案 您可以简单地使用select和map,如下例所示:importorg.apache.spark.sql.fun

scala - 使用 Spark scala 中的列创建格式化 csv 文件

我有一个csv文件,如下所示它有6行,顶行作为标题,而标题读作“StudentsMarks”dataframe将它们视为一列,现在我想将两列与数据分开。“student”和“marks”用空格隔开。df.show()_______________##StudentMarks##---------------A10;20;10;20A20;20;30;10B10;10;10;10B20;20;20;10B30;30;30;20现在我想将这个csv表转换成两列,包含学生和分数,同时为每个学生加上加起来的分数,如下所示Student|MarksA|30;40;40;30B|60;60;60;

scala - 将工作分配给多个核心 : Hadoop or Scala's parallel collections?

在Scala/Hadoop系统中充分利用多核进行并行处理的更好方法是什么?假设我需要处理1亿份文档。文档不是很大,但处理它们是计算密集型的。如果我有一个包含100台机器的Hadoop集群,每台机器有10个内核,我可以:A)向每台机器发送1000个文档,让Hadoop在10个核心(或尽可能多的可用核心)中的每一个上启动一个映射或B)向每台机器发送1000个文档(仍然使用Hadoop)并使用Scala的并行集合来充分利用多核。(我会将所有文档放在一个并行集合中,然后对该集合调用map)。换句话说,使用Hadoop在集群级别进行分发,并使用并行集合来管理分发到每台机器内的核心。

scala - Hadoop 作业在 java.lang.ClassNotFoundException 上失败

我已经搜索过这个问题的解决方案,但无济于事。我有三个Scala类:MaxTemperatureMapper、MaxTemperatureReducer和MaxTemperatureDriver(请参阅下面的实现)。之前线程中的一些人删除了Main类(MaxTemperatureDriver)中的job.setJar()方法以使hadoop作业运行。那对我不起作用。运行时我继续收到以下堆栈跟踪:hadoopcom.koadr.hadoop.MaxTemperatureDrivermicro/sample.txt输出hadoopjartarget/classes/koadr-hadoop-

scala - spark sbt编译报错libraryDependencies

1.2.0-bin-hadoop2.4我的Scala版本是2.11.7。我收到一个错误,所以我不能使用sbt。~/sparksample$sbt启动sbt:使用-help调用其他选项[info]将当前项目设置为SparkSample(在构建文件中:/home/beyhan/sparksample/)>sbtcompile[info]正在更新{file:/home/beyhan/sparksample/}default-f390c8...[info]解析org.scala-lang#scala-library;2.11.7...[info]正在解决org.apache.spark#spa

linux - 无法创建目录/home/hadoop/.ssh : permission denied?

我正在Ubuntu操作系统上配置hadoop。我需要创建RSAkey对以允许hadoop与其节点交互,所以我运行此命令:hadoop@ubuntu:~$ssh-keygen-trsa-P""然后我明白了:Generatingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/home/hadoop/.ssh/id_rsa):Couldnotcreatedirectory'/home/hadoop/.ssh':permissiondenied.Enterpassphrase(emptyfornopassphrase):Enters

scala - java.io.IOException : No FileSystem for scheme : hdfs 异常

我正在使用ClouderaQuickstartVMCDH5.3.0(就包裹包而言)和Spark1.2.0$SPARK_HOME=/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/spark并使用命令提交Spark应用./bin/spark-submit--class--masterspark://localhost.localdomain:7077--deploy-modeclient--executor-memory4G../apps/.jarSpark_App_Main_Class_Name.scalaimportorg.ap

hadoop - 问题 : Scala code in Spark shell to retrieve data from Hbase

我们正在尝试在Sparkshell中执行一个简单的Scala代码以从Hbase检索数据。Hadoop环境启用了Kerberos,我们已确保执行kinit。调用SparkShell的步骤:MASTER=yarn-clientDRIVER_CLASSPATH="/opt/cloudera/parcels/CDH/lib/hbase/lib/*"DRIVER_LIBRARY_PATH="/opt/cloudera/parcels/CDH/lib/hadoop/lib/native"spark-shell--driver-class-path"$DRIVER_CLASSPATH"--drive