草庐IT

scala-cats

全部标签

scala - Spark 中的低 CPU 使用率

我在一台8核机器上以本地模式运行Spark作业。它具有本地SSD和64GBRAM。HDFS在同一台机器上以伪分布式模式运行。运行以下作业时,我无法获得CPU利用率以超过单个内核的最大值。RAM使用量保持在10GB以下。环回接口(interface)的最大值约为333MB/s。无论哪种方式,磁盘IO通常都低于30MB/s。我该如何编写才能更好地利用我的硬件资源?objectFilterProperty{defmain(args:Array[String]){valconf=newSparkConf().setAppName("FilterClaimsDataforProperty").s

scala - 无法使用 spark shell 在 hdfs 中创建 Parquet 文件

我想在hdfs中创建parquet文件,然后通过hive将其作为外部表读取。在编写Parquet文件时,我对spark-shell中的阶段失败感到震惊。星火版本:1.5.2斯卡拉版本:2.10.4Java:1.7输入文件:(employee.txt)1201,萨蒂什,25岁1202,克里希纳,28岁1203,阿米斯,39岁1204,贾韦德,231205,普鲁德维,23在Spark-Shell中:valsqlContext=neworg.apache.spark.sql.SQLContext(sc)valhiveContext=neworg.apache.spark.sql.hive.H

scala - 在 Spark 作业服务器中运行 Mllib

我正在练习使用spark网站提供的在线资源开发示例模型。我设法创建了模型并使用Spark-Shell为示例数据运行它,但是如何在生产环境中实际运行模型?是通过Spark作业服务器吗?importorg.apache.spark.mllib.classification.SVMWithSGDimportorg.apache.spark.mllib.regression.LabeledPointimportorg.apache.spark.mllib.linalg.Vectorsvaldata=sc.textFile("hdfs://mycluster/user/Cancer.csv")v

scala - 使用 Spark Streaming 从 http 创建分析

您好,我的要求是从http://10.3.9.34:9900/messages创建分析,即从http://10.3.9.34:9900/messages并将此数据放在HDFS位置/user/cloudera/flume并使用Tableau或HUEUI从HDFS创建分析报告。我在CDH5.5的spark-shell的scala控制台中尝试使用以下代码,但无法从http链接获取数据importorg.apache.spark.SparkContextvaldataRDD=sc.textFile("http://10.3.9.34:9900/messages")dataRDD.collect

scala - 尝试从 UDF 执行 spark sql 查询

我正在尝试使用scala在spark框架中编写一个内联函数,它将接受一个字符串输入,执行一个sql语句并返回一个字符串值valtestfunc:(String=>String)=(arg1:String)=>{valk=sqlContext.sql("""selectc_codefromr_c_tblwherex_nm="something"""")k.head().getString(0)}我正在将此Scala函数注册为UDFvaltestFunc_test=udf(testFunc)我在配置单元表上有一个数据框valdf=sqlContext.table("some_table")

scala - 将转换从 hive sql 查询移动到 Spark

valtemp=sqlContext.sql(s"SELECTA,B,C,(CASEWHEN(D)in(1,2,3)THEN((E)+0.000)/60ELSE0END)ASZfromTEST.TEST_TABLE")valtemp1=temp.map({temp=>((temp.getShort(0),temp.getString(1)),(USAGE_TEMP.getDouble(2),USAGE_TEMP.getDouble(3)))}).reduceByKey((x,y)=>((x._1+y._1),(x._2+y._2)))我希望在scala中完成转换,而不是上面在配置单​​

scala - 将不同类型的值作为 Spark/Scala 中的参数传递给单个函数

我是Scala的新手。我可以将不同类型的值作为spark/scala中的参数传递给单个函数吗?我的意思是可以访问每种类型的值作为参数(例如String、Int、Double等)的通用函数例。这里的波纹管函数将只接受Int值。defTest(firstColumn:Int,secondColumn:Int):(Int)={//MyCodehere}valFLAG:Int=Test(2,4)请给我一些建议。提前致谢 最佳答案 您可以使用类型参数并让Scala推断您的返回类型,而不是像这样指定返回类型:defTest[A,B](first

scala - 关闭 SparkContext java.lang.NumberFormatException

我在我们的集群中运行一个spark作业,该作业运行了几分钟然后失败并提示容器异常。我尝试增加执行程序和驱动程序内存但没有用。我一次又一次地得到同样的异常。任何人都可以帮助解决这个问题。错误scheduler.DAGSchedulerEventProcessLoop:DAGSchedulerEventProcessLoop失败;关闭SparkContextjava.lang.NumberFormatException:对于输入字符串:“spark.locality.wait”17/04/1715:07:56INFOyarn.ApplicationMaster:Registeredsign

scala - Scala中如何根据三列过滤数据

我是scala的新手,我想为一个数据集迭代三个循环并执行一些分析。例如我的数据如下:Sample.csv1,100,0,NA,0,1,0,Friday,1,51,100,0,NA,0,1,0,Wednesday,1,91,100,1,NA,0,1,0,Friday,1,51,100,2,NA,0,1,0,Friday,1,51,101,0,NA,0,1,0,Friday,1,51,101,1,NA,0,1,0,Friday,1,51,101,2,NA,0,1,0,Friday,1,51,102,0,NA,0,1,0,Friday,1,51,102,1,NA,0,1,0,Friday,1

scala - Spark 内存限制超出问题

我有一份在spark上运行的工作,它是使用sparkRDD在scalaim中编写的。由于昂贵的分组操作我得到这个错误:容器因超出内存限制而被YARN终止。使用了22.4GB的22GB物理内存。考虑提升spark.yarn.executor.memoryOverhead。我增加了头顶的内存,但我得到了同样的结果。我使用10台r4.xlarge机器。我尝试使用r4.2xlarge甚至r4.4xlarge,但也出现同样的错误。我正在测试的数据是5GB压缩数据(将近50个解压缩数据和近600万条记录)。一些配置:spark.executor.memory:20480Mspark.driver.