Size: a a a

2020 October 14

OI

Oleg Ilinsky in Data Engineers
так не, с джарниками всё работает
на питоне не работало
источник

ME

Mikhail Epikhin in Data Engineers
я правда там сделал непоплуряную фишку, я просто все эти kafka jars положил в дистр с кафкой, чтобы всегда были
источник

ME

Mikhail Epikhin in Data Engineers
и все работало
источник

ME

Mikhail Epikhin in Data Engineers
Oleg Ilinsky
так не, с джарниками всё работает
на питоне не работало
ну я понимаю, я имею ввиду что джарники по интеграции положил и дальше из питона ими пользовался
источник

ME

Mikhail Epikhin in Data Engineers
источник

ME

Mikhail Epikhin in Data Engineers
там вообще никакой магии, запустил и работало
источник

ME

Mikhail Epikhin in Data Engineers
короч, скиньте ошибку, мне хочется боли в этом месте пособирать и улучшить это место
источник

ME

Mikhail Epikhin in Data Engineers
ну и будет круто если будут версии и пример репро
источник

OI

Oleg Ilinsky in Data Engineers
Oleg Ilinsky
Привет!
Вопрос!
Есть спарк. И я его запускал в клиент моде в кубах. Ща решил запустить в кластер моде, а он делает что-то странное:
все файлы (.py, jar, json) через s3 попадают в /tmp/spark-fa1d609c-9f6c-410f-a146-d65d01b567d5/ (spark-… генерится во время создания пода), а вот потом он эти файлы не видит, т.к. пытается искать файлы по тому же пути, что и на машине, с которой я запускаю, но в поде драйвера.
Мб опции какой не хватает? Чота бред какой-то.
подробнее про проблему я вот тут писал
Ошибка классический file not found exception

сам сабмит вот такой.
Внутри питон скрипта особо неважно, что т.к. он не выполнялся

export PYTHONPATH=/usr/local/bin/
export PYSPARK_PYTHON=python
export SPARK_HOME=/usr/local/airflow/spark
export JAVA_HOME=/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/jdk8u252-b09/
export PATH=$SPARK_HOME/bin:$JAVA_HOME/bin:$PATH
export HOST_IP=$(ifconfig | grep 'inet 10.' | awk '{print $2}')
spark-submit \
   --master k8s://master.aaa.abbb:8443 \
   --conf spark.kubernetes.container.image=my-registry/spark/3.0.0/spark-py:latest \
   --conf spark.kubernetes.authenticate.caCertFile=cert.crt \
   --conf spark.kubernetes.authenticate.serviceAccountName=spark \
   --conf spark.kubernetes.authenticate.oauthToken=$TOKEN \
   --conf spark.kubernetes.namespace=my_namespace \
   --conf spark.kubernetes.executor.limit.cores=0.2 \
   --conf spark.kubernetes.executor.request.cores=0.2 \
   --conf spark.executor.cores=1 \
   --conf spark.executor.memory=600M \
   --conf spark.executor.instances=20 \
   --conf spark.kubernetes.memoryOverheadFactor=0.9 \
   --conf spark.hadoop.fs.s3a.endpoint=https://s3.endpoint \
   --conf spark.hadoop.fs.s3a.access.key=s3-key \
   --conf spark.hadoop.fs.s3a.secret.key=s3-password \
   --conf spark.hadoop.fs.s3a.path.style.access=true \
   --conf spark.hadoop.fs.s3a.impl=org.apache.hadoop.fs.s3a.S3AFileSystem \
   --conf spark.sql.codegen.wholeStage=false \
   --conf spark.kubernetes.pyspark.pythonVersion=3 \
   --conf spark.kubernetes.file.upload.path=s3a://some/path\
   --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \
   --conf spark.kubernetes.authenticate.driver.oauthToken=$TOKEN \
   --conf spark.kubernetes.authenticate.submission.oauthToken=$TOKEN \
   --conf spark.kubernetes.driver.limit.cores=1 \
   --conf spark.driver.memory=4g \
   --conf spark.kubernetes.namespace=my_namespace \
   --files /location/of/my/schema.json \
   --jars /usr/local/airflow/spark/jars/hadoop-aws-3.2.1.jar,/usr/local/airflow/spark/jars/httpclient-4.5.6.jar,/usr/local/airflow/spark/jars/joda-time-2.10.5.jar,/usr/local/airflow/spark/jars/spark-hive_2.12-3.0.0.jar \
   --name my-job-name \
   --deploy-mode cluster \
   some_spark_job.py \
   --table_name my-target-table \
   --topic my-kafka-topic-name \
   --dag_id 1111
источник

OI

Oleg Ilinsky in Data Engineers
ну и я поискал в доках, там чота про кластер мод, кубы и питон ничего не нашёл, только scala
источник

ME

Mikhail Epikhin in Data Engineers
ну k8s, не должен влиять на data source
источник

ME

Mikhail Epikhin in Data Engineers
>    --jars /usr/local/airflow/spark/jars/hadoop-aws-3.2.1.jar,/usr/local/airflow/spark/jars/httpclient-4.5.6.jar,/usr/local/airflow/spark/jars/joda-time-2.10.5.jar,/usr/local/airflow/spark/jars/spark-hive_2.12-3.0.0.jar \

так а где spark-streaming-kafka jars?
источник

ME

Mikhail Epikhin in Data Engineers
питону их скармливать тоже надо, он же просто вызывает их
источник

OI

Oleg Ilinsky in Data Engineers
Oleg Ilinsky
так это не стримы, это был обычный спарк)
я же говорил, что это не стрим)) стримов на питоне у меня нет попробовать
источник

ME

Mikhail Epikhin in Data Engineers
ну там в одном джарника все data sources для кафки
источник

ME

Mikhail Epikhin in Data Engineers
источник

OI

Oleg Ilinsky in Data Engineers
в клиент моде тот же самый джоб с тем же самым сабмитом и джарниками работает) отличается только —deploy-mode
ну и ошибка там не на отсутсвие библиотек, а на сам py файл, либо какие-нибудь свои json’ы
источник

ME

Mikhail Epikhin in Data Engineers
Интеграция с кафкой отдельно билдится, ее отдельно указывать надо
источник

ME

Mikhail Epikhin in Data Engineers
Oleg Ilinsky
в клиент моде тот же самый джоб с тем же самым сабмитом и джарниками работает) отличается только —deploy-mode
ну и ошибка там не на отсутсвие библиотек, а на сам py файл, либо какие-нибудь свои json’ы
ну скиньте output ошибки, потому что у меня такая же нога и работает все:)
источник

OI

Oleg Ilinsky in Data Engineers
я чуть позже смогу скинуть) надо её воспроизвести ещё, я уже всё переделал
источник