คำถามติดแท็ก scala

Scala เป็นภาษาการเขียนโปรแกรมที่ใช้งานทั่วไปโดยมีเป้าหมายหลักที่ Java Virtual Machine ออกแบบมาเพื่อแสดงรูปแบบการเขียนโปรแกรมทั่วไปในรูปแบบที่กระชับสง่างามและปลอดภัยในการใช้งาน คุณสมบัติที่สำคัญของมันคือ: ระบบประเภทคงที่ขั้นสูงที่มีการอนุมานประเภท; ประเภทฟังก์ชั่น รูปแบบจับคู่; พารามิเตอร์และการแปลงโดยนัย ผู้ประกอบการมากไป; การทำงานร่วมกันอย่างสมบูรณ์กับ Java; เห็นพ้องด้วย

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| …

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 

5
ความแตกต่างระหว่าง == และ. equals ใน Scala คืออะไร
ความแตกต่างระหว่าง==และ.equals()ในสกาล่าคืออะไรและเมื่อใดควรใช้อันไหน การใช้งานเหมือนกับใน Java หรือไม่? แก้ไข: AnyValคำถามที่เกี่ยวข้องกับการเจรจาเกี่ยวกับกรณีที่เฉพาะเจาะจงของ Anyกรณีทั่วไปมากขึ้นคือ

15
จะปิดการบันทึกข้อมูลใน Spark ได้อย่างไร?
ฉันติดตั้ง Spark โดยใช้คู่มือ AWS EC2 และฉันสามารถเปิดใช้งานโปรแกรมได้อย่างดีโดยใช้bin/pysparkสคริปต์เพื่อไปที่จุดประกายประกายและยังสามารถทำ Quide Quick Start ได้สำเร็จ อย่างไรก็ตามฉันไม่สามารถใช้ชีวิตของฉันหาวิธีหยุดการบันทึก verbose ทั้งหมดINFOหลังจากแต่ละคำสั่ง ฉันได้ลองเกือบทุกสถานการณ์ที่เป็นไปได้ในรหัสด้านล่าง (ความเห็นออกการตั้งค่าปิด) ภายใน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 …

3
ความแตกต่างระหว่าง Array และ List ใน scala
ในกรณีใดฉันควรใช้ Array (Buffer) และ List (Buffer) ความแตกต่างเพียงอย่างเดียวที่ฉันรู้คืออาร์เรย์นั้นไม่แปรปรวนและรายการต่าง ๆ แปรปรวน แต่สิ่งที่เกี่ยวกับประสิทธิภาพและลักษณะอื่น ๆ ?

14
Spark - โหลดไฟล์ CSV เป็น DataFrame หรือไม่
ฉันต้องการอ่าน 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 …

11
วิธีการแปลงวัตถุ rdd เป็น dataframe ใน spark
ฉันจะแปลง RDD ( org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]) เป็น Dataframe org.apache.spark.sql.DataFrameได้อย่างไร ผมแปลง dataframe เพื่อ RDD .rddใช้ หลังจากการประมวลผลฉันต้องการมันกลับมาใน dataframe ฉันจะทำสิ่งนี้ได้อย่างไร

6
จะออกจาก 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>
139 scala  scala-2.11 

1
การย่อหน้าคลาสของปลั๊กอิน IntelliJ Scala ไม่มีสาระ
เมื่อคลาสเคสมีหลายฟิลด์และชื่อมีความยาวมักเป็นความคิดที่ดีที่จะเขียนแต่ละฟิลด์ในแต่ละบรรทัดเช่น: case class Person ( name: String, age: Int ) สิ่งนี้คล้ายกับstructนิยามC / C ++ และสามารถอ่านได้ทั้งหมดแม้ว่าคลาสเคสจะใหญ่กว่า แต่ปลั๊กอิน Scala เริ่มต้นของ IntelliJ IDEA จะเปลี่ยนการย่อหน้าโดยอัตโนมัติ: case class Person ( name: String, age: Int ) ซึ่งดูแปลกสำหรับฉัน แต่Scala Style Guideไม่ได้พูดถึงการเยื้องของคลาสเคส ฉันไม่พบสิ่งใดในการตั้งค่า IDE ที่สามารถเปลี่ยนพฤติกรรมนี้ มีตัวเลือกในการทำให้การเยื้องอัตโนมัติทำงานเหมือนกับที่ฉันอธิบายไว้ข้างต้นหรือปิดใช้งานการเยื้องอัตโนมัติสำหรับคลาสเคสหรือไม่?

2
ข้อดีและข้อเสียของการใช้ sbt vs maven ในโครงการ Scala [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา เครื่องมือสร้างใดดีที่สุดสำหรับ Scala ข้อดีและข้อเสียของแต่ละข้อคืออะไร ฉันจะกำหนดว่าจะใช้หนึ่งในโครงการใดได้บ้าง
138 scala  maven  sbt 


9
วิธีที่ดีที่สุดในการจัดเรียงผกผันในสกาล่าคืออะไร
วิธีที่ดีที่สุดในการจัดเรียงผกผันในสกาล่าคืออะไร? ฉันคิดว่าสิ่งต่อไปนี้ค่อนข้างช้า list.sortBy(_.size).reverse มีวิธี conveinient ใช้ sortBy แต่รับเรียงกลับกัน? sortWithผมค่อนข้างจะไม่จำเป็นต้องใช้
137 scala 

2
ความแตกต่างระหว่างสิ่งนี้กับตัวเองในคำอธิบายประกอบประเภทตัวเอง?
ในวรรณกรรมต่างๆของ Scala ฉันเห็นคำอธิบายประกอบประเภทตัวเองโดยใช้ "this" และอื่น ๆ ที่ใช้ "self": trait A { this: B => ... } trait A { self: B => ... } มีความแตกต่างอย่างแท้จริงระหว่างการใช้ "this" หรือ "self" หรือไม่? ชื่อที่คุณใช้มีความสำคัญหรือไม่? แค่นี้ก็ใช้ได้แล้ว? trait A { foo: B => ... }
137 scala 

6
จะจัดเรียงตามคอลัมน์จากมากไปหาน้อยใน Spark SQL ได้อย่างไร?
ฉันลองdf.orderBy("col1").show(10)แล้วแต่มันเรียงลำดับจากน้อยไปมาก df.sort("col1").show(10)ยังเรียงลำดับจากมากไปหาน้อย ผมมองใน StackOverflow และคำตอบที่ผมพบทั้งหมดล้าสมัยหรือเรียก RDDs ฉันต้องการใช้ดาต้าเฟรมดั้งเดิมในการจุดประกาย

1
สตรีมกับ Views vs Iterators
อะไรคือความแตกต่างระหว่าง Streams, Views (SeqView) และ Iterators in scala นี่คือความเข้าใจของฉัน: พวกเขาทั้งหมดเป็นรายการที่ขี้เกียจ สตรีมแคชค่า Iterators สามารถใช้ได้ครั้งเดียวเท่านั้น? คุณไม่สามารถย้อนกลับไปที่จุดเริ่มต้นและประเมินค่าอีกครั้งได้หรือไม่ ค่าของมุมมองจะไม่ถูกแคช แต่คุณสามารถประเมินค่าเหล่านั้นซ้ำแล้วซ้ำอีก? ดังนั้นถ้าฉันต้องการประหยัดพื้นที่ของฮีปฉันควรใช้ตัววนซ้ำ (ถ้าฉันไม่ข้ามรายการอีกครั้ง) หรือมุมมอง? ขอบคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.