Remarque sur la façon de fusionner plusieurs fichiers Parquet en un seul fichier Parquet
Vous pouvez facilement fusionner à l'aide d'outils de parquet. Cependant, distribué sous forme de fichier jar ne semble pas inclure hadoop-client, il semble donc être local. N'a pas pu être exécuté.
# java -jar parquet-tools-1.9.0.jar cat test.parquet
org/apache/hadoop/fs/Path
Par conséquent, vous devez le construire vous-même. Je l'ai construit en me référant au site suivant. https://www.lancork.net/2016/10/inspect-parquet-files-using-parquet-tools/
Utilisez celui configuré sur le serveur CentOS7.5 (à l'aide de l'interface graphique)
** 1. Installez les packages dont vous pourriez avoir besoin **
# yum install gcc gcc-c++ java-1.8.0-openjdk-devel boost-devel openssl-devel
** 2. Installez maven **
# wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
# tar zxvf apache-maven-3.3.9-bin.tar.gz
** 3. Installez Thrift **
# wget -nv http://archive.apache.org/dist/thrift/0.12.0/thrift-0.12.0.tar.gz
# tar zxvf 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
# make install
** 4. Téléchargez le code source complet ** https://github.com/apache/parquet-mr Téléchargez le code source complet à partir du lien ci-dessus.
# unzip parquet-mr-master.zip
# cd parquet-mr-master/
** 5. Construire ** Exécutez la commande mvn sous [répertoire courant] / parquet-mr-master / Je n'ai pas remarqué ↑ et il fonctionnait sous [répertoire courant] / parquet-mr-master / parquet-tools, donc j'en étais accro.
mvn clean package -Plocal
Sous [répertoire courant] / parquet-mr-master / parquet-tools / target Un fichier appelé parquet-tools-1.12.0-SNAPSHOT.jar (à partir du 8 mai 2020) est généré. Utilisez ceci pour fusionner.
Tout fichier Parquet à fusionner était très bien, j'ai donc utilisé le fichier lié ci-dessous qui est sorti par google. http://anson.ucdavis.edu/~clarkf/
Vérifiez si vous pouvez voir le contenu
# java -jar ./parquet-tools-1.12.0-SNAPSHOT.jar cat test.parquet
timeperiod = 01/01/2016 00:00:05
flow1 = 0
occupancy1 = 0.0
speed1 = 0.0
flow2 = 0
occupancy2 = 0.0
speed2 = 0.0
flow3 = 0
occupancy3 = 0.0
speed3 = 0.0
timeperiod = 01/01/2016 00:00:35
flow1 = 0
occupancy1 = 0.0
speed1 = 0.0
flow2 = 0
occupancy2 = 0.0
speed2 = 0.0
flow3 = 0
occupancy3 = 0.0
speed3 = 0.0
···(réduction)···
Fusionner
# java -jar ./parquet-tools-1.12.0-SNAPSHOT.jar merge ./data/*.parquet ./merge.parquet
Warning: file data/part-r-00000-ddaee723-f3f6-4f25-a34b-3312172aa6d7.snappy.parquet is too small, length: 16979
Warning: file data/part-r-00001-ddaee723-f3f6-4f25-a34b-3312172aa6d7.snappy.parquet is too small, length: 18350
···(réduction)···
Warning: you merged too small files. Although the size of the merged file is bigger, it STILL contains small row groups, thus you don't have the advantage of big row groups, which usually leads to bad query performance!
Je reçois un avertissement indiquant que les performances chuteront si je fusionne, mais j'ai pu fusionner.
c'est tout.
Recommended Posts