Как получить доступ к тегу grandchild корня без отображения тега children? [Дубликат]

У этого человека была аналогичная проблема: http://apache-spark-user-list.1001560.n3.nabble.com/How-to-use-DataFrame-with-MySQL-td22178.html

Обновили ли вы драйверы соединителей до последней версии? Также вы указали класс драйвера при вызове load ()?

Map options = new HashMap();
options.put("url", "jdbc:mysql://localhost:3306/video_rcmd?user=root&password=123456");
options.put("dbtable", "video");
options.put("driver", "com.mysql.jdbc.Driver"); //here
DataFrame jdbcDF = sqlContext.load("jdbc", options); 

В искровом / conf / spark-defaults.conf вы также можете установить spark.driver.extraClassPath и spark.executor.extraClassPath на путь вашего драйвера MySql .jar

10
задан vicsz 30 October 2009 в 20:47
поделиться

4 ответа

Эта статья может вам помочь ... вам требуется только знать xpath http://onjava.com/onjava/2007/09/07/schema-less-java-xml-data-binding-with -vtd-xml.html

3
ответ дан vtd-xml-author 28 August 2018 в 17:17
поделиться
  • 1
    Похоже, что это, вероятно, лучший выбор, (не имея файлов сопоставления или аннотаций), а просто с использованием методов формы перевода с использованием xpath и, возможно, vtdxml или dom. – vicsz 30 October 2009 в 21:14
  • 2
    будьте осторожны с digestor, это не полный парсер и может быть очень медленным для больших документов XmL – vtd-xml-author 30 October 2009 в 21:38

EclipseLink JAXB (MOXy) позволяет вам выполнить сопоставление на основе пути:

@XmlRootElement 
class Animal 
{ 
 @XmlPath("standardName/Name/text()")
 private String name; 

 @XmlPath("standardVersion/VersionIdentifier/text()");
 private String versionIdentifier; 
} 

Для получения дополнительной информации см .:

EclipseLink также позволяет указывать метаданные с использованием внешнего файла конфигурации:

4
ответ дан Blaise Doughan 28 August 2018 в 17:17
поделиться

Jakarta Commons Digester должен делать то, что вы хотите.

В качестве альтернативы я бы рекомендовал написать класс преобразования, который использует XPath для извлечения элементов из XML.

3
ответ дан kdgregory 28 August 2018 в 17:17
поделиться

Я считаю, что JiBX - лучший из них (JAXB, Castor, XMLBeans и т. д.), особенно потому, что я предпочитаю файлы сопоставления над аннотациями. По общему признанию, он имеет приличную кривую обучения, но на веб-сайте есть много хороших примеров. Вы, должно быть, пропустили учебник .

Если вы идете только в одном направлении (XML -> POJO), вы можете использовать Digester .

Боковой комментарий: я предпочитаю сопоставлять файлы по аннотациям, потому что аннотации:

  • загромождают код (особенно при использовании аннотаций от нескольких продуктов)
  • проблемы смешивания (XML, база данных и т. д. в доменном слое)
  • может привязываться только к одному представлению XML (или базе данных, или веб-службе и т. д.)
2
ответ дан SingleShot 28 August 2018 в 17:17
поделиться
  • 1
    Я прочитал учебное пособие, но, если я не пропустил что-то, похоже, требуется несколько дополнительных шагов (по сравнению с Castro), то есть требования к запуску bindgen. (На сайте это не слишком просто объясняется). Кажется, что чрезмерное выполнение должно запускать bindgen в ваших файлах сопоставления, прежде чем вы сможете их использовать. Существуют ли простые учебники / фрагменты? т. е. учитывая этот xml-файл, этот файл сопоставления xml и этот фрагмент кода, вы получите этот экземпляр POJO. – vicsz 30 October 2009 в 21:05
  • 2
    EclipseLink JAXB (MOXy) также предлагает файл сопоставления. Это дает вам возможность использовать аннотации (стандартные JAXB и расширения) или файл сопоставления. – Blaise Doughan 8 July 2010 в 16:30
Другие вопросы по тегам:

Похожие вопросы: