Использование Spark с Flask с JDBC

Чтобы записать файл, я думаю, что следующий метод является наиболее эффективным и понятным: (вы можете добавить кавычки, если хотите)

public static void WriteCsv(DataTable dt, string path)
{
    using (var writer = new StreamWriter(path)) {
        writer.WriteLine(string.Join(",", dt.Columns.Cast<DataColumn>().Select(dc => dc.ColumnName)));
        foreach (DataRow row in dt.Rows) {
            writer.WriteLine(string.Join(",", row.ItemArray));
        }
    }
}
2
задан leogoesger 16 January 2019 в 16:53
поделиться

2 ответа

Вот что сработало для меня, как и предполагалось. Нужно --jars

../bin/spark-submit --master spark://Leos-MacBook-Pro.local:7077 --driver-class-path postgresql-42.2.5.jar --jars postgresql-42.2.5.jar server.py
0
ответ дан leogoesger 16 January 2019 в 16:53
поделиться

--driver-class-path здесь недостаточно. Jar драйвера также должен быть добавлен в путь к классу executor. Это обычно обрабатывается вместе, используя:

  • spark.jars.packages / --packages
  • spark.jars / --jars

, хотя вы все еще можете использовать spark.executor.extraClassPath.

Объяснение :

С помощью драйвера источника JDBC отвечает за чтение метаданных (схемы) и исполнителей для фактического процесса извлечения данных.

Такое поведение является общим для разных внешних источников данных, поэтому всякий раз, когда вы используете не встроенный формат, вы должны распределять соответствующие jar-файлы по кластеру.

См. Также

Как использовать источник JDBC для записи и чтения данных в (Py) Spark?

0
ответ дан user10923906 16 January 2019 в 16:53
поделиться
Другие вопросы по тегам:

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