我有一个数据集,它有简单(字符串)和复杂数据类型的组合,用管道分隔。
1111|1234567891011|ABC11|JOSE|"linkEnrollment": {"Group": [{"action": "ADD","groupType": "ROSS","groupId": "GRP-1","isValid": "Y"},{"action": "ADD","groupType": "CROSS","groupId": "GRP-2","isValid": " "}]}
2222|9876543256827|ABC22|JACK|"linkEnrollment": {"Group": [{"action": "DEL","groupType": "ROCK","groupId": "GRP-7","isValid": "N"}]}
相应列为:
UUID(String)|PID(String)|DEVID(String)|FIRSTNAME(String)|LINK(String which is a JSON)
我的要求是我需要使用sparkjava将这些数据加载到一个配置单元表中。我需要知道:
如何读取上述数据并转换为dataframe(使用structtype架构)以插入到配置单元表中。
如何将链接列数据加载到配置单元表中,它在表中的数据类型是什么。
请帮忙。
1条答案
按热度按时间r55awzrz1#
您可以使用spark csv loader读取文件
然后您可以使用from\ json解压json列
如何使用spark dataframes查询json数据列?
然后您可以将它存储在配置单元中,json列将是您可以查询的structtype