我在使用scala,在将hbase中的数据Map到mongodb中时遇到了一个问题。让我解释一下:
我在hbase中有一个人和地址表,一个人对应多个地址。
val sparkSession = SparkSession.builder().getOrCreate()
val dfPerson = sparkSession.read.format()...
dfPerson.show():
+---------+--------------------+--------------------+-------+---------+
|PERSON_ID| LAST_NAME| FIRST_NAME|COUNTRY| CITY|
+---------+--------------------+--------------------+-------+---------+
| 1005| Miley| John| Spain| Madrid|
| 1005| Miley| John| Spain|Barcele..|
| 1009| Rodney| Justin| France| Paris|
| 1009| Rodney| Justin| France| Creteil|
+---------+--------------------+--------------------+------+---------+
我需要以嵌套对象格式Map这些数据,然后将其存储在mongodb中,其中有一个collection具有arrays address块,如下所示:
[ {
name: "John"
lasteName: "Miley"
address:[
{city: "Bacelona", country: "Spain", ... },
{city: "Madrid", country: "Spain", ...},
...
]
},
{
name: "Justin"
lasteName: "Rodney",
address: [..]
}
]
是否有任何框架来Map这些escanrie?
谢谢你的建议
1条答案
按热度按时间mec1mxoz1#
你可以这样做。
最终架构:
这是您想要的最终模式。要存储到mongodb,可以使用
mongo-spark-connector"
https://docs.mongodb.com/spark-connector/current/scala-api/