LoginSignup
4
2

More than 3 years have passed since last update.

vscodeでparquet-viewerを使うまで(memo)

Posted at

前提

  • vscodeを入れている
  • vscodeのリモート接続している(この投稿はamazon linuxとつなげていますが、wslの場合yumをaptに読み替えてください)

構築した環境

  • OS
    amazon linux

  • 各種コンパイラ

[xxx@xxx src]$ java --version
openjdk 11.0.4 2019-07-16 LTS
OpenJDK Runtime Environment Corretto-11.0.4.11.1 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.4.11.1 (build 11.0.4+11-LTS, mixed mode)
[xxx@xxx src]$ mvn --version
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/share/apache-maven
Java version: 11.0.4, vendor: Amazon.com Inc.
Java home: /usr/lib/jvm/java-11-amazon-corretto
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "4.14.133-113.105.amzn2.x86_64", arch: "amd64", family: "unix"
[xxx@xxx src]$ gcc -v
組み込み spec を使用しています。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
ターゲット: x86_64-redhat-linux
configure 設定: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-libsanitizer --enable-gnu-indirect-function --enable-libcilkrts --enable-libatomic --enable-libquadmath --enable-libitm --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
スレッドモデル: posix
gcc バージョン 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC) 

以下手順

1. Extensionsを追加する

これを入れて下さい
image.png

これを追加するだけだと parquet-toolのパスが見つかりません といったニュアンスのエラーが発生します

2. 準備

コピペで行けると思いますが、エラーが出たらコンパイルエラーをみて必要なライブラリを追加が必要になります。

sudo yum install gcc -y 
sudo yum install gcc-c++ -y 
sudo yum install boost-devel -y 
sudo yum install byacc -y
sudo yum install openssl-devel -y
sudo yum install protobuf -y
sudo yum install protobuf-devel boost-devel gflags-devel lmdb-devel -y
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
./configure --disable-gen-erl --disable-gen-hs --without-ruby --without-haskell --without-erlang --without-php --without-nodejs
# 割と重めのコンパイルです
sudo make install

3. parquet-toolコンパイル

git clone git@github.com:apache/parquet-mr.git
cd parquet-mr
mvn -pl parquet-tools -am clean package -Plocal

重要
公式ページだと cd parquet-tools してからmvnしていますが、モジュール依存で失敗するので、parquet-mrでmvnしてください。
また、前述のコマンドの通り打てばよいのですが、指定のモジュールだけではなく依存解決しながらコンパイルしてください

4. 実行ファイル作る

jarのパスは適当です

[xxx@xxx src]$ cat /usr/local/bin/parquet-tools
#!/bin/bash
exec java -jar /usr/local/bin/parquet-tools-1.12.0-SNAPSHOT.jar "$@"

5. vscodeからparquetを開くと自動でjson変換されます

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2