Size: a a a

2021 May 25

GP

Grigory Pomadchin in Moscow Spark
Class.forName работает?
источник

GP

Grigory Pomadchin in Moscow Spark
не думаю, если слик не подводил то хорошо; но он давно активно не развивается уже и типа не очень поддерживаемого проекта сейчас
источник

GP

Grigory Pomadchin in Moscow Spark
просто если так работает, может spi какоето юзается для подгрузки драйвера
источник

GP

Grigory Pomadchin in Moscow Spark
а ну точно SPI
источник

GP

Grigory Pomadchin in Moscow Spark
а как ты собираешь эсембли?
источник

GP

Grigory Pomadchin in Moscow Spark
источник

GP

Grigory Pomadchin in Moscow Spark
мержишь META-INF?
источник

PL

Pavel L in Moscow Spark
я пока assembly в этом проекте не трогал, моя задача была успешно переехать на k8s с EMR чтоб немного сэкономить 🙂 и вот продолжаю миграцию на spark 3+

а так ты прав да @pomadchin  - тут несколько стратегий как я вижу в проекте
```
case PathList("META-INF", "maven", "io.netty", "netty-all", xs) if xs startsWith "pom" =>
 
MergeStrategy.first
case PathList("org", "apache", "commons", "logging", _*) => MergeStrategy.first
case PathList("org", "apache", _*) => MergeStrategy.first
case PathList("org", "slf4j", _*) => MergeStrategy.first
case PathList("com", "google", _*) => MergeStrategy.first
case PathList("com", "esotericsoftware", _*) => MergeStrategy.first
case PathList("com", "zaxxer", _*) => MergeStrategy.first
case PathList("net", "snowflake", _*) => MergeStrategy.first
case PathList("javax", _*) => MergeStrategy.last
case PathList("org", "aopalliance", _*) => MergeStrategy.last
case PathList("META-INF", "io.netty.versions.properties") => MergeStrategy.first
case PathList("META-INF", "io.netty.versions.properties") => MergeStrategy.first
case PathList("mozilla", "public-suffix-list.txt", xs@_*) => MergeStrategy.last
case PathList("mime.types") => MergeStrategy.last
case x =>
 val oldStrategy = (
assemblyMergeStrategy in assembly).value
 oldStrategy(x)

```
источник

GP

Grigory Pomadchin in Moscow Spark
добавь в самом верху case s if s.startsWith("META-INF/services") => MergeStrategy.concat
источник

GP

Grigory Pomadchin in Moscow Spark
ну или через PathList сделай
источник

GP

Grigory Pomadchin in Moscow Spark
в любом случае это надо делать
источник

GP

Grigory Pomadchin in Moscow Spark
интересно что два раза

```
case PathList("META-INF", "io.netty.versions.properties") => MergeStrategy.first
case PathList("META-INF", "io.netty.versions.properties") => MergeStrategy.first
```
источник

PL

Pavel L in Moscow Spark
🙇 попробую
источник

PL

Pavel L in Moscow Spark
Проверю да, сейчас конечно slick -> hikariCp подгрузят нужный драйвер под профиль (подгружали 😊)

```
server {
 snowflake-db {
   profile = "common.db.slick.snowflake.SnowflakeProfile$"
   db {
     driver = "net.snowflake.client.jdbc.SnowflakeDriver"
     connectionPool = "HikariCP"

```
источник

GP

Grigory Pomadchin in Moscow Spark
если заработает, то знач неудачно сбрал жарник / обновил какието зависимости и парядок сборки изменился
источник

A

Alexey in Moscow Spark
Спасибо
источник
2021 May 26

AM

Artem Muravlev in Moscow Spark
Всем привет, может быть кто знает почему в Спарке при попытке взять список файлов выдает "старые" или "несуществующие" названия.

Пишу таким способом. Файл получается такой myData_05-26-2021_2-30.orc

   myData
     .toDF
     .repartition(1)
     .write
     .option("header","true")
     .format(format)
     .save(s"$hdfsDir$fileName")

При попытке выбрать все файлы из директории и прочитать получаю ошибку

  diagnostics: User class threw exception: org.apache.spark.sql.AnalysisException: Path does not exist: hdfs://sandbox-hdp.hortonworks.com:8020/my/path/part-00000-b27def28-d46b-4d01-90f2-f7dfb3a6b00f-c000.snappy.orc;

Способ которым читаю файлы в директории.
   pathHdfs.getFileSystem(hadoopConf).listFiles(pathHdfs, true)
источник

B

BadRat in Moscow Spark
Пишешь в одно место, а читаешь из другого?
источник

AM

Artem Muravlev in Moscow Spark
Неа((
источник

B

BadRat in Moscow Spark
Хорошо проверил?
источник