xml и СУБД

Тема в разделе "WASM.HEAP", создана пользователем Rockphorr, 7 сен 2019.

  1. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    Собственно есть xml схема и xml данные.
    Поставил на досуге postgres 10 и рядом ms sqlexpress 2008 (на 2 разных виртуалках).
    Столкнулся с проблемой, что из коробки нет простого решения задачи на 2 действия - создать таблицу по схеме и загрузить данные.
    Как это решается ??? пишется прикладное ПО ??
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    берешь какой-нить питон, там парсинг xml есть из коробки, коннекторы к базам легко ставятся, ну и пишешь скрипт, который все сделает...
     
  3. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    ну есть проблема только в Xml , то гуглим "xml schema to... " в тот формат куда вам нужно.
     
  4. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    мне не в формат, а таблицу создать по схеме и потом ее данными заполнить
    --- Сообщение объединено, 8 сен 2019 ---
    xml и субд вроде уже лет 10 как существуют в месте, и такое впечатление,что друг друга не знают
    слушал всяких мажоров с хабра, как они легко своим тарантулом лог на диск пишут и по нему если что бодро восстанавливаются, а на практиве куда не копни всюду жопа - все не допилено
     
  5. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    Rockphorr, так если у вас проблема в том чтоб создать таблицу - но ее ж можно создать из других форматов, там где она создается без проблемно . По этому и предложил конвертер посмотреть.
     
  6. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    *.csv но это данные, какие еще ?

    10 лет совместного существования по мин оценке и такая лажа

    таблицу можно и в ручную создать но это гемор
     
  7. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    За эти 16 часов минус 8 часов на сон можно было уже сделать, но это гемор. Бобрик (dbeaver) поддерживает импорт из csv, как минимум зарядить содержимое базы можно им, про схемы можно тоже кнопочки потыкать, может без гемора получится.
    ЗЫ: в бобре есть generate sql-ddl, которая в sql-формате схему таблицы сделает.
    ЗЗЫ: 2 бесплатных бд и такая лажа чёрт возьми.
     
    Последнее редактирование: 8 сен 2019
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    ну тут надо иметь ввиду, что csv - это и есть таблица, она легко импортируется в классические бд... xml и json могут содержать внутри себя любые уровни вложенности данных, для этого их нужно флаттенить по определенному алгоритму... как вариант - найти/написать флаттенер, который преобразует из xml в csv, а из csv наверное найдется импортер... ну или использовать nosql базу данных типа mongodb, если данные имеют сложную структуру и не хочется ее разбирать...
     
  9. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    у меня данные в xml и схема по которой надо создавать таблицу
    просто импорт из *.csv для постгреса не проблема
     
  10. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    Rockphorr, ну так и сделайте конверт Xml в excel (это легко) а excel уже легко сохраняет сам в csv , а дальше все просто.
    ну для совсем ленивых
    http://www.convertcsv.com/xml-to-csv.htm
     
  11. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    маленькая проблема - данных около 3 гигов
    excel пол гига максимум
    онлайн сервисы - дай бог сотню метров
     
  12. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    Rockphorr,
    эх
    ну тогда совсем хардкорное решение.
    Ставим на убунту spark

    далее (только опции сами там выберете в зависимости от вашего xml

    Код (Text):
    1. df = spark.read \
    2.     .format("com.databricks.spark.xml") \
    3.     .option("rootTag", "MainTag") \
    4.     .option("rowTag", "rowData") \
    5.     .load("test.xml")
    а потом
    Код (Text):
    1. df.write.
    2.     format("com.databricks.spark.csv").
    3.     option("header", "true").
    4.     save("out.csv")
    все .

    Если не разберетесь - пишите - помогу
     
  13. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    что такое убунту я знаю - это линь у меня даже оригинальный диск есть 5 версии
    но что такое спарк ??

    я не настолько хардкорный мэн :my_name_is_grisha:

     
  14. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    > Spark — программная платформа распределённой обработки данных, входящая в экосистему Apache Hadoop.