blob: f878ce19465f03697473f55f8b8a44ce584dd617 [file] [log] [blame]
<?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>0.7.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</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-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-common</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-server</artifactId>
</dependency>
<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-batch-ingestion-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-avro</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-csv</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-protobuf</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-json</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-orc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-parquet</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-thrift</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-kafka-${kafka.version}</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-s3</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
</dependency>
<dependency>
<groupId>args4j</groupId>
<artifactId>args4j</artifactId>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-http</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus.bundles</groupId>
<artifactId>tyrus-standalone-client</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-minion</artifactId>
</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/pinot-admin-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.scan.query.ScanBasedQueryProcessor</mainClass>
<name>scan-query</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>20G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.query.comparison.QueryComparison</mainClass>
<name>query-comparator</name>
<jvmSettings>
<initialMemorySize>10G</initialMemorySize>
<maxMemorySize>30G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.query.comparison.StarQueryComparison</mainClass>
<name>star-query-comparator</name>
<jvmSettings>
<initialMemorySize>10G</initialMemorySize>
<maxMemorySize>30G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.query.comparison.StatsGenerator</mainClass>
<name>stats-generator</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.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/pinot-controller-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/pinot-broker-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/pinot-server-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/pinot-minion-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/pinot-service-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.Quickstart</mainClass>
<name>quick-start-batch</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.HybridQuickstart</mainClass>
<name>quick-start-hybrid</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.RealtimeQuickStart</mainClass>
<name>quick-start-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.BatchQuickstartWithMinion</mainClass>
<name>quick-start-batch-with-minion</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.UpsertQuickStart</mainClass>
<name>quick-start-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>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<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>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.command.LaunchDataIngestionJobCommand</mainClass>
<name>pinot-ingestion-job</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-ingestion-job-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>
</configuration>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
<execution>
<id>build-query-comparison</id>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>org.apache.pinot.tools.query.comparison.QueryComparison</mainClass>
</manifest>
</archive>
<finalName>query-comparison</finalName>
</configuration>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<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_${kafka.version}</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>