【发布时间】:2019-04-30 20:29:53
【问题描述】:
我想在 Spark 2.2.2 和 Java 中加载 JSON 数据。
Dataset df = spark
.read()
.json(filePath);
但是我得到了错误:
java.lang.IllegalArgumentException: Illegal pattern component: XXX
21:42:34.430 [main] INFO OntologyLoader - An error occured while loading data into the ontology.
at org.apache.commons.lang3.time.FastDatePrinter.parsePattern(FastDatePrinter.java:282)
at org.apache.commons.lang3.time.FastDatePrinter.init(FastDatePrinter.java:149)
这是一个 JSON 文件的内容:
{"id":"155097","sku":"CASPA0000083386","idFamily":"137","family":"Health & Beauty","idService":"135","service":"Haircut & Styling","title":"Pruebas de peinado y maquillaje de novia en Shibuy","price":"80","genderProduct":"F","socialUsage":"1","ageUsage":"2,3","dailyDeal":"true","topDeal":"false","dealFamily":"1","shortTitle":"Pelu y maquillaje Novias: Eixample","campaignName":"peinado de novia o recogido y maquillaje de novia","metaTitle":"Peluquería + maquillaje para novias en Shibuya","metaDescription":"Htest. Ofertas de belleza. Peluquería + maquillaje para novias","metaKeywords":"oferta, peluquería, maquillaje, novias, shibuya","tradeName":"Shibuya Hair Salon","featured":"<h3>Oferta para novias. ¡Únete y disfruta!</h3>\n\n<p>Tu gran día se va acercando poco a poco ¿Y tienes ya todo listo? ¿El restaurante? ¿El vestido con sus respectivas pruebas? ¿El peinado y el maquillaje? ¿Ya sabes qué te quieres hacer y dónde? ¿No? ¡Ahhh! ¿Qué estás buscando no gastaste mucho? ¡claro es que en las bodas son todo gastos!</p>\n\n<p>Por eso y para ayudarte, estamos en Htest para que en tu gran día estés más guapa que nunca y no dejes de brillar, <strong>habiéndote ahorrado más que un par de euros con este fantástico descuento.</strong></p>\n\n<p>Ven a <strong>Shibuya </strong>y hazte con:</p>\n\n<ul><li>\n\t<p><strong>Hasta 2 horas de pruebas de peinado de novia + hasta 2 horas de pruebas de maquillaje</strong></p>\n\t</li></ul>\n\n<p>En Shibuya Hair Salon además son asesores de la imagen y si estás perdida y no sabes lo que buscas o no lo tienes claro, en todo momento te guiarán para conseguir la imagen que más se ajusta a tu personalidad, estilo y por supuesto vestido.</p>\n\n<p>Una vez que salgas de Shibuya Hair Salón solo te podrán decir: “¡Que viva esa novia!”</p>\n\n<h3>Htest colabora con Shibuya</h3>","specialPrice":"40","discount":"50","localization":"Barcelona","address":"C/ Viladomat, 200, 08029, Barcelona","lat":"41.3846985","lon":"2.150849","isInStock":"true","active":"true","initialDateMin":"0","finalDateMax":"0","reviewScore":"0","reviewRanking":"2088","paxPerCoupon":""}
我还尝试使用静态类解析 JSON。但得到了同样的错误。
Encoder<Campaign> encoder = Encoders.bean(Campaign.class);
Dataset<Campaign> df = spark
.read()
.json(filePath)
.as(encoder);
只是提到这段代码在 Spark 1.6.1 中使用相同的数据工作。将 Spark 从 1.6.1 升级到 2.2.2 时出现错误。
【问题讨论】:
-
那个 Json 是无效的,如果它在任何 Json 解析器中工作,我都会感到惊讶。
-
@PerdiEstaquel:您是否尝试从我的帖子中复制 JSON 字符串并将其粘贴到任何在线 JSON 查看器中?;)
标签: java json apache-spark apache-spark-dataset