Spark多行合并一行collect_list使用

有这样需求,原始数据如下图。开发需要把start_city_id和end_city_id作为key,
value是一个list集合,里面包含这些所有所有字段详细信息,存到redis。


 |-- first_traffic_type: string (nullable = true)
 |-- first_traffic_code: string (nullable = true)
 |-- first_price: double (nullable = true)
 |-- start_city_id: integer (nullable = true)
 |-- start_city_name: string (nullable = true)
 |-- start_station_code: string (nullable = true)
 |-- start_station_name: string (nullable = true)
 |-- transfer_arrive_station_code: string (nullable = true)
 |-- transfer_arrive_station_name: string (nullable = true)
 |-- transfer_city_id: integer (nullable = true)
 |-- transfer_city_name: string (nullable = true)
 |-- second_traffic_type: string (nullable = true)
 |-- second_traffic_code: string (nullable = true)
 |-- second_price: double (nullable = true)
 |-- transfer_leave_station_code: string (nullable = true)
 |-- transfer_leave_station_name: string (nullable = true)
 |-- end_city_id: integer (nullable = true)
 |-- end_city_name: string (nullable = true)
 |-- end_station_code: string (nullable = true)
 |-- end_station_name: string (nullable = true)
 |-- total_num: long (nullable = true)

+------------------+------------------+-----------+-------------+---------------+------------------+------------------+----------------------------+----------------------------+----------------+------------------+-------------------+-------------------+------------+---------------------------+---------------------------+-----------+-------------+----------------+----------------+---------+
|first_traffic_type|first_traffic_code|first_price|start_city_id|start_city_name|start_station_code|start_station_name|transfer_arrive_station_code|transfer_arrive_station_name|transfer_city_id|transfer_city_name|second_traffic_type|second_traffic_code|second_price|transfer_leave_station_code|transfer_leave_station_name|end_city_id|end_city_name|end_station_code|end_station_name|total_num|
+------------------+------------------+-----------+-------------+---------------+------------------+------------------+----------------------------+----------------------------+----------------+------------------+-------------------+-------------------+------------+---------------------------+---------------------------+-----------+-------------+----------------+----------------+---------+
|                 T|              K511|    19200.0|          917|            杭州市|               HGH|               杭州东|                         GZQ|                          广州|            1932|               广州市|                  T|               K485|      5450.0|                        GZQ|                         广州|       2056|          东莞市|             RTQ|              东莞|        2|
|                 T|             D3623|    16900.0|         2075|            南宁市|               NFZ|               南宁东|                         IZQ|                         广州南|            1932|               广州市|                  T|              G6519|     21500.0|                        IZQ|                        广州南|       3218|           香港|             XJA|           香港西九龙|        9|
|                 T|             D7265|     1000.0|         1976|            佛山市|               FOQ|               佛山西|                         IZQ|                         广州南|            1932|               广州市|                  T|              G1004|     24400.0|                        IZQ|                        广州南|       1821|          衡阳市|             HVQ|             衡阳东|        6|
|                 T|             D5124|     2400.0|         2335|            遂宁市|               NIW|                遂宁|                         NCE|                         南充北|            2359|               南充市|                  T|              D1969|      6950.0|                        NCE|                        南充北|       2327|          广元市|             GYW|              广元|        6|
|                 T|             D2223|     7700.0|         1792|            天门市|               TNN|               天门南|                         HAN|                         宜昌东|            1708|               宜昌市|                  T|               K934|      4050.0|                        HAN|                        宜昌东|       1857|          常德市|             VGQ|              常德|        2|
|                 T|              Z182|     1650.0|         1955|            深圳市|               BJQ|               深圳东|                         HCQ|                          惠州|            2015|               惠州市|                  T|              T8368|      5850.0|                        HCQ|                         惠州|       2029|          兴宁市|             ENQ|              兴宁|        8|
|                 T|             D8482|     6300.0|         2146|            玉林市|               YLZ|                玉林|                         UCZ|                         来宾北|            2185|               来宾市|                  T|              D1794|     10600.0|                        UCZ|                        来宾北|       2098|      三江侗族自治县|             SWZ|             三江南|        4|
|                 T|              Z291|     1250.0|         1742|            孝感市|               XGN|                孝感|                         HKN|                          汉口|            1678|               武汉市|                  T|               D353|     10800.0|                        HKN|                         汉口|       1708|          宜昌市|             HAN|             宜昌东|       10|
|                 T|              G822|     9950.0|         1955|            深圳市|               IOQ|               深圳北|                         IZQ|                         广州南|            1932|               广州市|                  T|              C7639|      1000.0|                        IZQ|                        广州南|       1976|          佛山市|             ORQ|              顺德|        2|
|                 T|             D3398|    20800.0|         1256|            九江市|               JJG|                九江|                         HGH|                         杭州东|             917|               杭州市|                  T|              D3101|      9900.0|                        HGH|                        杭州东|       1005|          临海市|             UFH|              临海|        2|
|                 T|             G2930|     7450.0|         1955|            深圳市|               IOQ|               深圳北|                         IZQ|                         广州南|            1932|               广州市|                  T|              D2844|      7300.0|                        IZQ|                        广州南|       2167|          贺州市|             HXZ|              贺州|       20|
|                 T|             D3760|    12800.0|         1932|            广州市|               IZQ|               广州南|                         GGZ|                          贵港|            2140|               贵港市|                  T|              D8389|      2600.0|                        GGZ|                         贵港|       2146|          玉林市|             YLZ|              玉林|       32|
|   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值