Нужно написать искробезопасный скала-код для следующих примеров данных (столбцы в строки) - PullRequest
0 голосов
/ 12 сентября 2018

Нужна помощь в написании программы в Spark для преобразования столбцов в строки?

Текстовый файл:

{Summary
Report Id : 001
Type of Report : Medical
Start Date & Time: 15/07/2015 10:10:11
End Date & Time:   28/07/2018 15:12:05
Coordinates :  18° 52’ 01’’ N,  78° 12’ 15’’ E
    No.
    Freq.
    Type
    Angle
    Power
    P
    PI
    P Type
    M Type
    S Type
    R  Type
    Time
    File name

    1
    1000
    Vis_typ_001
    45.5
    5
    100
    1000
    PRI_7
    M_15
    S_2
    R1
    27/07/2018  10:12:05 
     Ac13.avi

    2
    408.55
    Vis_typ_002
    12
    0
    0
    0
     
    M_12
    S_3
    R5
    27/07/2018  12:18:05 
     070.mp4

Total no of  records received : 3
No. of reports passed :2
No. of reports failed :1
Comment: Good Result
}

1 Ответ

0 голосов
/ 12 сентября 2018

Это просто измененный ответ @ terminally-chill в аналогичном посте тот же пост в вопросе.Если это выполняется в машине Windows, ниже должны быть разделители для разделения.Использовал этот пост в качестве ссылки разделитель в использовании Windows для ответа.

val rdd2 = rdd.flatMap {
            case (file, data) =>
                data.split("\r\n\r\n").map(strBlock => {
                    strBlock.split("\r\n")
                })

    }


    // create DataFrame that contains an array
    val df = rdd2.toDF

    // convert array of items to columns
    val finalDf = df.select((0 until 13).map(i => col("value")(i)): _*)

    finalDf.show

Вывод:

+--------+--------+-----------+--------+--------+--------+--------+------------+--------+--------+---------+--------------------+---------+
|value[0]|value[1]|   value[2]|value[3]|value[4]|value[5]|value[6]|    value[7]|value[8]|value[9]|value[10]|           value[11]|value[12]|
+--------+--------+-----------+--------+--------+--------+--------+------------+--------+--------+---------+--------------------+---------+
|      No|    Freq|       Type|   Angle|   Power|       P|      PI|      P Type|  M Type|  S Type|  R  Type|                Time|File name|
|       1|    1000|Vis_typ_001|    45.5|       5|     100|    1000|       PRI_7|    M_15|     S_2|       R1|27/07/2018  10:12...| Ac13.avi|
|       2|  408.55|Vis_typ_002|      12|       0|       0|       0|JUNKKKKKKKKK|    M_12|     S_3|       R5|27/07/2018  12:18...|  070.mp4|
+--------+--------+-----------+--------+--------+--------+--------+------------+--------+--------+---------+--------------------+---------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...