Dockerイメージにpostgresqlをインストールするにはどうすればよいですか?

ハムザシェイク

SparkアプリケーションでPostgresqlからデータをフェッチしようとしていますが、Dockerイメージにpostgresqlドライバーをインストールする方法がわかりません。また、以下に説明するように、postgresqlをapt-get installコマンドとしてインストールしようとしました(Dockerfile)。

Dockerfile:

FROM python:3


ENV SPARK_VERSION 2.3.2
ENV SPARK_HADOOP_PROFILE 2.7
ENV SPARK_SRC_URL https://www.apache.org/dist/spark/spark-$SPARK_VERSION/spark-${SPARK_VERSION}- 
bin-hadoop${SPARK_HADOOP_PROFILE}.tgz
ENV SPARK_HOME=/opt/spark
ENV PATH $PATH:$SPARK_HOME/bin

RUN wget ${SPARK_SRC_URL}
RUN tar -xzf spark-${SPARK_VERSION}-bin-hadoop${SPARK_HADOOP_PROFILE}.tgz

RUN mv spark-${SPARK_VERSION}-bin-hadoop${SPARK_HADOOP_PROFILE} /opt/spark
RUN rm -f spark-${SPARK_VERSION}-bin-hadoop${SPARK_HADOOP_PROFILE}.tgz
RUN apt-get update && \
apt-get install -y openjdk-8-jdk-headless \
 postgresql && \
rm -rf /var/lib/apt/lists/*
ENV JAVA_HOME  /usr/lib/jvm/java-8-openjdk-amd64/

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt


COPY my_script.py ./
CMD [ "python", "./my_script.py" ]

Requirements.txt:pyspark == 2.3.2 numpy

my_script.py:

from pyspark import SparkContext
from pyspark import SparkConf

#spark conf
conf1 = SparkConf()
conf1.setMaster("local[*]")
conf1.setAppName('hamza')
print(conf1)
sc = SparkContext(conf = conf1)
print('hahahha')

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
print(sqlContext)

from pyspark.sql import DataFrameReader
url = 'postgresql://IP:PORT/INSTANCE'
properties = {'user': 'user', 'password': 'pass'}
df = DataFrameReader(sqlContext).jdbc(
url='jdbc:%s' % url, table=query, properties=properties
)

このエラーの取得:

Traceback (most recent call last):
  File "./my_script.py", line 26, in <module>
, properties=properties
  File "/usr/local/lib/python3.7/site-packages/pyspark/sql/readwriter.py", line 527, in jdbc
  return self._df(self._jreader.jdbc(url, table, jprop))
  File "/usr/local/lib/python3.7/site-packages/py4j/java_gateway.py", line 1257, in __call__
answer, self.gateway_client, self.target_id, self.name)
  File "/usr/local/lib/python3.7/site-packages/pyspark/sql/utils.py", line 63, in deco
return f(*a, **kw)
  File "/usr/local/lib/python3.7/site-packages/py4j/protocol.py", line 328, in get_return_value
format(target_id, ".", name), value)
       py4j.protocol.Py4JJavaError: An error occurred while calling o28.jdbc.
   : java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getDriver(DriverManager.java:315)

このドライバーのセットアップ方法を教えてくださいありがとうございます

ブドウ

これはDocker物事を行う方法ではありませんDockerアプローチでは、すべてのサービスを1つのコンテナー内に配置するのではなく、サービスを複数に分割します。各コンテナーには、データベース、アプリケーションなどの1つのメインプロセスが必要です。

また、個別のコンテナを使用する場合は、必要なものをすべてインストールする必要はありDockerfileません。必要なデータベースタイプを備えたすぐに使用できるコンテナを選択するだけです。ちなみに、python:3Dockerイメージを使用している場合、メンテナはインストールされているサービスのセットやOSの種類さえも変更しないことをどのように知っていますか?'Python`サービスのみを提供し、他のすべてが定義されていないため、簡単に実行できます。

だから、私がお勧めするのは:

  1. プロジェクトを異なるコンテナに分割します(Dockerfiles
  2. postgresデータベースに標準イメージを使用します-すべてのサービスとドライバーはすでにオンボードされています
  3. docker-compose両方のコンテナを起動し、1つのネットワークでそれらをリンクするために(または何でも)使用します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

DockerイメージにPythonをインストールするにはどうすればよいですか?

分類Dev

Dockerイメージにffmpegをインストールするにはどうすればよいですか?

分類Dev

DockerイメージにSnapcraftをインストールするにはどうすればよいですか?

分類Dev

DockerイメージにGrailsをインストールするにはどうすればよいですか?

分類Dev

DockerイメージにPythonモジュールをインストールするにはどうすればよいですか?

分類Dev

Dockerイメージ内にインストールされているLinuxを確認するにはどうすればよいですか?

分類Dev

ピップなしでDockerイメージにAWSCLIツールをインストールするにはどうすればよいですか?

分類Dev

PHP Dockerイメージにpdoドライバーをインストールするにはどうすればよいですか?

分類Dev

golangをベースイメージとしてdockerにpython3をインストールするにはどうすればよいですか?

分類Dev

同じバージョンのDockerイメージをインストールするにはどうすればよいですか?

分類Dev

Ubuntu Dockerイメージに「ifconfig」コマンドをインストールするにはどうすればよいですか?

分類Dev

dockerの公式のphp-fpm-alpineイメージにXDebugをインストールするにはどうすればよいですか?

分類Dev

MSSQL ServerをPython Dockerイメージにインストールするにはどうすればよいですか?

分類Dev

Docker Ubuntuイメージにgitをインストールするにはどうすればよいですか?

分類Dev

Dockerイメージにscikit-learn、pandas、numpyをインストールするにはどうすればよいですか?

分類Dev

WindowsでDocker用のpostgresqlデータベースイメージファイルを作成するにはどうすればよいですか?

分類Dev

DockerファイルにDjangoをインストールするにはどうすればよいですか?

分類Dev

Dockerイメージのインストールディレクトリを変更するにはどうすればよいですか?

分類Dev

DockerにAerospikeツールをインストールするにはどうすればよいですか?

分類Dev

ファイルをDockerイメージにコピーするにはどうすればよいですか?

分類Dev

Ubuntu 13.04にPostgreSQLをインストールするにはどうすればよいですか?

分類Dev

Mac OSXにPostgreSQL-contrib-9.3をインストールするにはどうすればよいですか?

分類Dev

Amazon LinuxAMIにPostgresql11をインストールするにはどうすればよいですか?

分類Dev

Ubuntu 13.04にPostgreSQLをインストールするにはどうすればよいですか?

分類Dev

Mac OSXのPostgresqlにhstoreをインストールするにはどうすればよいですか?

分類Dev

Ubuntu 16.04にpostgresql-9.4をインストールするにはどうすればよいですか?

分類Dev

Ubuntu18.04にPostgreSQL9.5をインストールするにはどうすればよいですか?

分類Dev

colaboaratoryにモジュールをインストールするにはどうすればよいですか?

分類Dev

すでにインストールされているUbuntuTouchイメージを更新するにはどうすればよいですか?

Related 関連記事

  1. 1

    DockerイメージにPythonをインストールするにはどうすればよいですか?

  2. 2

    Dockerイメージにffmpegをインストールするにはどうすればよいですか?

  3. 3

    DockerイメージにSnapcraftをインストールするにはどうすればよいですか?

  4. 4

    DockerイメージにGrailsをインストールするにはどうすればよいですか?

  5. 5

    DockerイメージにPythonモジュールをインストールするにはどうすればよいですか?

  6. 6

    Dockerイメージ内にインストールされているLinuxを確認するにはどうすればよいですか?

  7. 7

    ピップなしでDockerイメージにAWSCLIツールをインストールするにはどうすればよいですか?

  8. 8

    PHP Dockerイメージにpdoドライバーをインストールするにはどうすればよいですか?

  9. 9

    golangをベースイメージとしてdockerにpython3をインストールするにはどうすればよいですか?

  10. 10

    同じバージョンのDockerイメージをインストールするにはどうすればよいですか?

  11. 11

    Ubuntu Dockerイメージに「ifconfig」コマンドをインストールするにはどうすればよいですか?

  12. 12

    dockerの公式のphp-fpm-alpineイメージにXDebugをインストールするにはどうすればよいですか?

  13. 13

    MSSQL ServerをPython Dockerイメージにインストールするにはどうすればよいですか?

  14. 14

    Docker Ubuntuイメージにgitをインストールするにはどうすればよいですか?

  15. 15

    Dockerイメージにscikit-learn、pandas、numpyをインストールするにはどうすればよいですか?

  16. 16

    WindowsでDocker用のpostgresqlデータベースイメージファイルを作成するにはどうすればよいですか?

  17. 17

    DockerファイルにDjangoをインストールするにはどうすればよいですか?

  18. 18

    Dockerイメージのインストールディレクトリを変更するにはどうすればよいですか?

  19. 19

    DockerにAerospikeツールをインストールするにはどうすればよいですか?

  20. 20

    ファイルをDockerイメージにコピーするにはどうすればよいですか?

  21. 21

    Ubuntu 13.04にPostgreSQLをインストールするにはどうすればよいですか?

  22. 22

    Mac OSXにPostgreSQL-contrib-9.3をインストールするにはどうすればよいですか?

  23. 23

    Amazon LinuxAMIにPostgresql11をインストールするにはどうすればよいですか?

  24. 24

    Ubuntu 13.04にPostgreSQLをインストールするにはどうすればよいですか?

  25. 25

    Mac OSXのPostgresqlにhstoreをインストールするにはどうすればよいですか?

  26. 26

    Ubuntu 16.04にpostgresql-9.4をインストールするにはどうすればよいですか?

  27. 27

    Ubuntu18.04にPostgreSQL9.5をインストールするにはどうすればよいですか?

  28. 28

    colaboaratoryにモジュールをインストールするにはどうすればよいですか?

  29. 29

    すでにインストールされているUbuntuTouchイメージを更新するにはどうすればよいですか?

ホットタグ

アーカイブ