Questions tagged «scala»

Scala是主要针对Java虚拟机的通用编程语言。它旨在以简洁,优雅和类型安全的方式表达常见的编程模式,它融合了命令式和功能性编程风格。它的主要特征是:具有类型推断功能的高级静态类型系统;功能类型;模式匹配; 隐式参数和转换;操作符重载;与Java完全互操作性;并发

14
Scala:在一个语句中将字符串写入文件
为了在Scala中读取文件,有 Source.fromFile("file.txt").mkString 是否有等效的简洁方法将字符串写入文件? 大多数语言都支持类似的东西。我最喜欢的是Groovy: def f = new File("file.txt") // Read def s = f.text // Write f.text = "file contents" 我想将代码用于从单行到一小段代码的程序。不必使用自己的库在这里没有意义。我希望现代的语言可以让我方便地在文件中写一些东西。 有类似的帖子,但是他们没有回答我的确切问题,或者只关注较早的Scala版本。 例如: 在Scala中读取整个文件? 如何在Scala中写入文件?
144 scala  scala-2.9 


8
如何选择每个组的第一行?
我有一个生成的DataFrame,如下所示: df.groupBy($"Hour", $"Category") .agg(sum($"value") as "TotalValue") .sort($"Hour".asc, $"TotalValue".desc)) 结果如下: +----+--------+----------+ |Hour|Category|TotalValue| +----+--------+----------+ | 0| cat26| 30.9| | 0| cat13| 22.1| | 0| cat95| 19.6| | 0| cat105| 1.3| | 1| cat67| 28.5| | 1| cat4| 26.8| | 1| cat13| 12.6| | 1| cat23| 5.3| | 2| cat56| 39.6| | 2| …

15
如何在Spark中关闭INFO日志记录?
我使用AWS EC2指南安装了Spark,并且可以使用bin/pyspark脚本正常启动该程序以获取Spark 提示,并且还可以成功执行快速入门Quide。 但是,我无法终生解决如何INFO在每个命令后停止所有冗长的日志记录。 我在下面的代码(注释掉,设置为OFF)中的几乎所有可能的情况下都尝试了log4j.properties该conf文件夹,该文件夹位于我从中以及在每个节点上启动应用程序的文件夹中,没有任何反应。INFO执行每个语句后,我仍然可以打印日志记录语句。 我对应该如何工作感到非常困惑。 #Set everything to be logged to the console log4j.rootCategory=INFO, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.err log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n # Settings to quiet third party logs that are too verbose log4j.logger.org.eclipse.jetty=WARN log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO 这是我使用时的完整类路径SPARK_PRINT_LAUNCH_COMMAND: Spark命令:/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin/java -cp:/root/spark-1.0.1-bin-hadoop2/conf:/root/spark-1.0.1 -bin-hadoop2 / conf:/root/spark-1.0.1-bin-hadoop2/lib/spark-assembly-1.0.1-hadoop2.2.0.jar:/root/spark-1.0.1-bin-hadoop2/lib /datanucleus-api-jdo-3.2.1.jar:/root/spark-1.0.1-bin-hadoop2/lib/datanucleus-core-3.2.2.jar:/root/spark-1.0.1-bin-hadoop2 /lib/datanucleus-rdbms-3.2.1.jar -XX:MaxPermSize = 128m -Djava.library.path …


14
Spark-将CSV文件加载为DataFrame吗?
我想在Spark中读取CSV并将其转换为DataFrame并将其存储在HDFS中 df.registerTempTable("table_name") 我努力了: scala> val df = sqlContext.load("hdfs:///csv/file/dir/file.csv") 我得到的错误: java.lang.RuntimeException: hdfs:///csv/file/dir/file.csv is not a Parquet file. expected magic number at tail [80, 65, 82, 49] but found [49, 59, 54, 10] at parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:418) at org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache$$anonfun$refresh$6.apply(newParquet.scala:277) at org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache$$anonfun$refresh$6.apply(newParquet.scala:276) at scala.collection.parallel.mutable.ParArray$Map.leaf(ParArray.scala:658) at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply$mcV$sp(Tasks.scala:54) at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply(Tasks.scala:53) at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply(Tasks.scala:53) at scala.collection.parallel.Task$class.tryLeaf(Tasks.scala:56) at scala.collection.parallel.mutable.ParArray$Map.tryLeaf(ParArray.scala:650) at …


1
IntelliJ Scala插件的案例类缩进是荒谬的
当case类具有许多字段并且它们的名称很长时,通常最好在每一行中编写每个字段,例如: case class Person ( name: String, age: Int ) 这类似于C / C ++的struct定义,即使case类变大也完全可读。但是IntelliJ IDEA的默认Scala插件会自动更改其缩进: case class Person ( name: String, age: Int ) 在我看来,这很奇怪,但是《Scala风格指南》并未提及有关案例类缩进的任何内容。 我在IDE设置中找不到任何可以更改此行为的内容。是否可以选择使自动缩进像我上面描述的那样工作,或者对案例类禁用自动缩进?

2
在Scala项目中使用sbt vs maven的利弊[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 哪种构建工具最适合Scala?它们各自的优缺点是什么?如何确定在项目中使用哪一个?
138 scala  maven  sbt 




1
流vs视图vs迭代器
Scala中的Streams,Views(SeqView)和Iterators有什么区别?这是我的理解: 它们都是惰性列表。 流缓存值。 迭代器只能使用一次?您无法回到开始并再次评估值? 视图的值不会被缓存,但是您可以一次又一次地求值吗? 因此,如果我想节省堆空间,是否应该使用迭代器(如果我不再遍历列表)或视图?谢谢。

5
如何退出Scala 2.11.0 REPL?
在最新版本的scala(2.10.3)REPL中,我可以键入exit要退出REPL。但是,在Scala 2.11.0中,此操作无效。 $ scala Welcome to Scala version 2.11.0 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_51). Type in expressions to have them evaluated. Type :help for more information. scala> exit <console>:8: error: not found: value exit exit ^ scala>
135 scala  scala-2.11 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.