pinot-tools
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-tools</artifactId>
<version>1.4.0</version>
</dependency><?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>pinot</artifactId>
<groupId>org.apache.pinot</groupId>
<version>1.4.0</version>
</parent>
<artifactId>pinot-tools</artifactId>
<name>Pinot Tools</name>
<url>https://pinot.apache.org/</url>
<properties>
<pinot.root>${basedir}/..</pinot.root>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-controller</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-broker</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-server</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-minion</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-minion-builtin-tasks</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-batch-ingestion-common</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-avro</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-confluent-avro</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-csv</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-protobuf</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-json</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-parquet</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-thrift</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-kafka-2.0</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-kafka-3.0</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-kinesis</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-pulsar</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-batch-ingestion-standalone</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-s3</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-yammer</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-dropwizard</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-compound-metrics</artifactId>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<scope>compile</scope>
</dependency>
<!-- Replace bcprov-jdk15on which is excluded from hadoop-common -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>sdk-core</artifactId>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
</dependency>
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus.bundles</groupId>
<artifactId>tyrus-standalone-client</artifactId>
</dependency>
<!--
This dependency is needed for LaunchSparkDataIngestionJobCommand.
The dependency only contains a few classes and scala library which has been excluded.
Hence, it will not interfere with spark-core classes present in runtime env
and will use the env spark version to actually execute the spark job
-->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-launcher_${scala.compat.version}</artifactId>
<version>${spark3.version}</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<configuration>
<programs>
<program>
<mainClass>org.apache.pinot.tools.PinotToolLauncher</mainClass>
<name>pinot-tools</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotAdministrator</mainClass>
<name>pinot-admin</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/log4j2.xml</extraArgument>
<extraArgument>-Dpinot.admin.system.exit=true</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.StarTreeIndexViewer</mainClass>
<name>star-tree-index-viewer</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotController</mainClass>
<name>start-controller</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotBroker</mainClass>
<name>start-broker</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotServer</mainClass>
<name>start-server</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotMinion</mainClass>
<name>start-minion</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotServiceManagerStarter</mainClass>
<name>start-service-manager</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.Quickstart</mainClass>
<name>quick-start-batch</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.HybridQuickstart</mainClass>
<name>quick-start-hybrid</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.RealtimeQuickStart</mainClass>
<name>quick-start-streaming</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.UpsertQuickStart</mainClass>
<name>quick-start-upsert-streaming</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.PartialUpsertQuickStart</mainClass>
<name>quick-start-partial-upsert-streaming</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.JsonIndexQuickStart</mainClass>
<name>quick-start-json-index-batch</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.RealtimeJsonIndexQuickStart</mainClass>
<name>quick-start-json-index-streaming</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.RealtimeComplexTypeHandlingQuickStart</mainClass>
<name>quick-start-complex-type-handling-streaming</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.OfflineComplexTypeHandlingQuickStart</mainClass>
<name>quick-start-complex-type-handling-offline</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.AuthQuickstart</mainClass>
<name>quick-start-auth</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.AuthZkBasicQuickstart</mainClass>
<name>quick-start-auth-zk</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.perf.QueryRunner</mainClass>
<name>query-runner</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.command.FileSystemCommand</mainClass>
<name>pinot-fs-util</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
</programs>
<binFileExtensions>
<unix>.sh</unix>
</binFileExtensions>
<!-- Set the target configuration directory to be used in the bin scripts -->
<configurationDirectory>conf</configurationDirectory>
<!-- Copy the contents from "/src/main/config" to the target configuration directory in the assembled application -->
<copyConfigurationDirectory>false</copyConfigurationDirectory>
<!-- Include the target configuration directory in the beginning of the classpath declaration in the bin scripts -->
<includeConfigurationDirectoryInClasspath>false</includeConfigurationDirectoryInClasspath>
<assembleDirectory>${project.build.directory}/${project.artifactId}-pkg</assembleDirectory>
<unixScriptTemplate>${project.basedir}/src/main/resources/appAssemblerScriptTemplate</unixScriptTemplate>
<!-- Generate bin scripts for windows and unix pr default -->
<platforms>
<platform>unix</platform>
</platforms>
<repositoryLayout>flat</repositoryLayout>
<repositoryName>lib</repositoryName>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>build-pinot-tool-launcher</id>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>org.apache.pinot.tools.PinotToolLauncher</mainClass>
</manifest>
</archive>
<finalName>pinot-tool-launcher</finalName>
<archiverConfig>
<compress>${archiver.compress}</compress>
</archiverConfig>
<recompressZippedFiles>${archiver.recompressZippedFiles}</recompressZippedFiles>
</configuration>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-kafka-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<!-- this is important -->
<overwrite>true</overwrite>
<!-- target -->
<outputDirectory>${basedir}/target/classes/sample_data/</outputDirectory>
<resources>
<resource>
<!-- source -->
<directory>src/main/resources/sample_data/kafka_2.0</directory>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-batch-ingestion-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<!-- this is important -->
<overwrite>true</overwrite>
<!-- target -->
<outputDirectory>${basedir}/target/classes/examples/</outputDirectory>
<resources>
<resource>
<!-- source -->
<directory>src/main/resources/examples</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>