Как сделать простой интерфейс используя scala - PullRequest
0 голосов
/ 14 июня 2019

Мой проект Spark находится на Eclipse, и я использую Maven и Scala IDE.Это мой код

package bd.spark_app 
import org.apache.spark.SparkConf 
import org.apache.spark.SparkContext 
import org.apache.spark.SparkContext._ 
import org.apache.spark.sql.SQLContext 
import org.apache.spark.sql._ 
import org.apache.spark.sql.types.IntegerType 
import scala.io.Source 
import org.apache.spark.sql.functions._ 
import scala.collection.mutable.WrappedArray 
import org.apache.log4j._ 
import org.apache.spark.sql.types.{StructType, StructField, StringType}    
import org.apache.spark.sql.Row 
import scala.Array 

object alla { 

  def main(args:Array[String]) = { 
    val conf =newSparkConf().setMaster("local").setAppName("trying ") 
    val sc = new SparkContext(conf) 

    val x = sc.textFile("/home/hadoopusr/sampledata") 

    x.map(_.split(" "))
     .map(str => (
       (str.head.head match { 
          case 'M' => "Magazine" 
          case 'B' => "Book" 
          case 'D' => "Dictionary" 
          case _ => ??? 
        }, 
        str.head.drop(1).dropRight(3).toInt
       ), str.last.toInt)
     ) 
    .reduceByKey(_ + _) 
    .map(tuple => (tuple._1._1, tuple._1._2, tuple._2))

Результат

(Magazine,2003,3),
(Dictionary,2001,24),
(Dictionary,2003,3), 
(Book,2002,1), 
(Magazine,2001,7), 
(Book,2004,10),
(Dictionary,2002,22), 
(Dictionary,2004,10)

Я бы хотел, чтобы результат был в таблице

TYPE       YEAR COPIES 
Magazine   2003      3
Dictionary 2001     24
Dictionary 2003      3
Book       2002      1

И так далее ...

Но мне нужно, чтобы таблица была в простом интерфейсе.Я новичок в scala и ничего не нашел о том, как создать интерфейс с scala

1 Ответ

0 голосов
/ 14 июня 2019

Но мне нужно, чтобы таблица была в простом интерфейсе.

Какова цель? сохранить данные в базе данных?

Вы можете определить класс дела следующим образом вне вашего alla объекта:

case class Entry(`type`: String, year: Int, copies: Int)

и затем вы заменяете:

      .map(tuple => tuple._1._1, tuple._1._2, tuple._2)

от

      .map(tuple => Entry(tuple._1._1, tuple._1._2, tuple._2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...