ビルドに必要なものを用意する
yum install -y wget git tar gcc gcc-c++ boost-devel make maven wget -nv http://archive.apache.org/dist/thrift/0.12.0/thrift-0.12.0.tar.gz && \ tar xzf thrift-0.12.0.tar.gz && \ cd thrift-0.12.0 && \ chmod +x ./configure && \ ./configure --disable-libs && \ make install
git clone -b apache-parquet-1.11.0 --depth 1 https://github.com/apache/parquet-mr cd parquet-mr/parquet-tools/
依存ライブラリ不足でビルドに失敗したので dependencies に以下を追加
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.10.0</version> </dependency>
mvn clean package -Plocal
target/parquet-tools-1.11.0.jar
にファイルができる。
Dockerfile
# parquet-tools FROM amazonlinux:2 RUN yum install -y wget git tar gcc gcc-c++ boost-devel make maven RUN wget -nv http://archive.apache.org/dist/thrift/0.12.0/thrift-0.12.0.tar.gz && \ tar xzf thrift-0.12.0.tar.gz && \ cd thrift-0.12.0 && \ chmod +x ./configure && \ ./configure --disable-libs && \ make install COPY pom.xml /tmp/pom.xml # dependency を追加した pom.xml をカレントディレクトリに置いておく RUN git clone -b apache-parquet-1.11.0 --depth 1 https://github.com/apache/parquet-mr /root/parquet-mr && \ cd /root/parquet-mr/parquet-tools && \ mv /tmp/pom.xml . && \ mvn clean package -Plocal