0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!--
0003 ~ Licensed to the Apache Software Foundation (ASF) under one or more
0004 ~ contributor license agreements. See the NOTICE file distributed with
0005 ~ this work for additional information regarding copyright ownership.
0006 ~ The ASF licenses this file to You under the Apache License, Version 2.0
0007 ~ (the "License"); you may not use this file except in compliance with
0008 ~ the License. You may obtain a copy of the License at
0009 ~
0010 ~ http://www.apache.org/licenses/LICENSE-2.0
0011 ~
0012 ~ Unless required by applicable law or agreed to in writing, software
0013 ~ distributed under the License is distributed on an "AS IS" BASIS,
0014 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0015 ~ See the License for the specific language governing permissions and
0016 ~ limitations under the License.
0017 -->
0018
0019 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
0020 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
0021 <modelVersion>4.0.0</modelVersion>
0022 <parent>
0023 <groupId>org.apache.spark</groupId>
0024 <artifactId>spark-parent_2.12</artifactId>
0025 <version>3.0.0</version>
0026 <relativePath>../../pom.xml</relativePath>
0027 </parent>
0028
0029 <artifactId>spark-hive_2.12</artifactId>
0030 <packaging>jar</packaging>
0031 <name>Spark Project Hive</name>
0032 <url>http://spark.apache.org/</url>
0033 <properties>
0034 <sbt.project.name>hive</sbt.project.name>
0035 </properties>
0036
0037 <dependencies>
0038 <!-- Added for Hive Parquet SerDe -->
0039 <dependency>
0040 <groupId>${hive.parquet.group}</groupId>
0041 <artifactId>parquet-hadoop-bundle</artifactId>
0042 </dependency>
0043 <dependency>
0044 <groupId>org.apache.spark</groupId>
0045 <artifactId>spark-core_${scala.binary.version}</artifactId>
0046 <version>${project.version}</version>
0047 </dependency>
0048 <dependency>
0049 <groupId>org.apache.spark</groupId>
0050 <artifactId>spark-core_${scala.binary.version}</artifactId>
0051 <version>${project.version}</version>
0052 <type>test-jar</type>
0053 <scope>test</scope>
0054 </dependency>
0055 <dependency>
0056 <groupId>org.apache.spark</groupId>
0057 <artifactId>spark-sql_${scala.binary.version}</artifactId>
0058 <version>${project.version}</version>
0059 </dependency>
0060 <dependency>
0061 <groupId>org.apache.spark</groupId>
0062 <artifactId>spark-sql_${scala.binary.version}</artifactId>
0063 <version>${project.version}</version>
0064 <type>test-jar</type>
0065 <scope>test</scope>
0066 </dependency>
0067 <dependency>
0068 <groupId>org.apache.spark</groupId>
0069 <artifactId>spark-catalyst_${scala.binary.version}</artifactId>
0070 <type>test-jar</type>
0071 <version>${project.version}</version>
0072 <scope>test</scope>
0073 </dependency>
0074 <dependency>
0075 <groupId>org.apache.spark</groupId>
0076 <artifactId>spark-tags_${scala.binary.version}</artifactId>
0077 <type>test-jar</type>
0078 <scope>test</scope>
0079 </dependency>
0080 <!--
0081 <dependency>
0082 <groupId>com.google.guava</groupId>
0083 <artifactId>guava</artifactId>
0084 </dependency>
0085 <dependency>
0086 <groupId>com.google.protobuf</groupId>
0087 <artifactId>protobuf-java</artifactId>
0088 <version>${protobuf.version}</version>
0089 </dependency>
0090 -->
0091 <dependency>
0092 <groupId>${hive.group}</groupId>
0093 <artifactId>hive-common</artifactId>
0094 <scope>${hive.common.scope}</scope>
0095 </dependency>
0096 <dependency>
0097 <groupId>${hive.group}</groupId>
0098 <artifactId>hive-exec</artifactId>
0099 <classifier>${hive.classifier}</classifier>
0100 </dependency>
0101 <dependency>
0102 <groupId>${hive.group}</groupId>
0103 <artifactId>hive-metastore</artifactId>
0104 </dependency>
0105 <dependency>
0106 <groupId>${hive.group}</groupId>
0107 <artifactId>hive-serde</artifactId>
0108 <scope>${hive.serde.scope}</scope>
0109 </dependency>
0110 <dependency>
0111 <groupId>${hive.group}</groupId>
0112 <artifactId>hive-shims</artifactId>
0113 <scope>${hive.shims.scope}</scope>
0114 </dependency>
0115 <dependency>
0116 <groupId>org.apache.hive</groupId>
0117 <artifactId>hive-llap-common</artifactId>
0118 <scope>${hive.llap.scope}</scope>
0119 </dependency>
0120 <dependency>
0121 <groupId>org.apache.hive</groupId>
0122 <artifactId>hive-llap-client</artifactId>
0123 <scope>${hive.llap.scope}</scope>
0124 </dependency>
0125 <!-- hive-serde already depends on avro, but this brings in customized config of avro deps from parent -->
0126 <dependency>
0127 <groupId>org.apache.avro</groupId>
0128 <artifactId>avro</artifactId>
0129 </dependency>
0130 <!-- use the build matching the hadoop api of avro-mapred (i.e. no classifier for hadoop 1 API,
0131 hadoop2 classifier for hadoop 2 API. avro-mapred is a dependency of org.spark-project.hive:hive-serde -->
0132 <dependency>
0133 <groupId>org.apache.avro</groupId>
0134 <artifactId>avro-mapred</artifactId>
0135 <classifier>${avro.mapred.classifier}</classifier>
0136 </dependency>
0137 <dependency>
0138 <groupId>commons-httpclient</groupId>
0139 <artifactId>commons-httpclient</artifactId>
0140 </dependency>
0141 <dependency>
0142 <groupId>org.apache.httpcomponents</groupId>
0143 <artifactId>httpclient</artifactId>
0144 </dependency>
0145 <dependency>
0146 <groupId>org.codehaus.jackson</groupId>
0147 <artifactId>jackson-mapper-asl</artifactId>
0148 </dependency>
0149 <!-- transitive dependencies of hive-exec-core doesn't declare -->
0150 <dependency>
0151 <groupId>commons-codec</groupId>
0152 <artifactId>commons-codec</artifactId>
0153 </dependency>
0154 <dependency>
0155 <groupId>joda-time</groupId>
0156 <artifactId>joda-time</artifactId>
0157 </dependency>
0158 <dependency>
0159 <groupId>org.jodd</groupId>
0160 <artifactId>jodd-core</artifactId>
0161 </dependency>
0162 <dependency>
0163 <groupId>com.google.code.findbugs</groupId>
0164 <artifactId>jsr305</artifactId>
0165 </dependency>
0166 <dependency>
0167 <groupId>org.datanucleus</groupId>
0168 <artifactId>datanucleus-core</artifactId>
0169 </dependency>
0170 <dependency>
0171 <groupId>org.apache.thrift</groupId>
0172 <artifactId>libthrift</artifactId>
0173 </dependency>
0174 <dependency>
0175 <groupId>org.apache.thrift</groupId>
0176 <artifactId>libfb303</artifactId>
0177 </dependency>
0178 <dependency>
0179 <groupId>org.apache.derby</groupId>
0180 <artifactId>derby</artifactId>
0181 </dependency>
0182 <dependency>
0183 <groupId>org.scala-lang</groupId>
0184 <artifactId>scala-compiler</artifactId>
0185 <scope>test</scope>
0186 </dependency>
0187 <dependency>
0188 <groupId>org.scalacheck</groupId>
0189 <artifactId>scalacheck_${scala.binary.version}</artifactId>
0190 <scope>test</scope>
0191 </dependency>
0192 </dependencies>
0193 <profiles>
0194 <profile>
0195 <id>hive</id>
0196 <build>
0197 <plugins>
0198 <plugin>
0199 <groupId>org.codehaus.mojo</groupId>
0200 <artifactId>build-helper-maven-plugin</artifactId>
0201 <version>3.0.0</version>
0202 <executions>
0203 <execution>
0204 <id>add-scala-test-sources</id>
0205 <phase>generate-test-sources</phase>
0206 <goals>
0207 <goal>add-test-source</goal>
0208 </goals>
0209 <configuration>
0210 <sources>
0211 <source>compatibility/src/test/scala</source>
0212 </sources>
0213 </configuration>
0214 </execution>
0215 </executions>
0216 </plugin>
0217 </plugins>
0218 </build>
0219 </profile>
0220 </profiles>
0221
0222 <build>
0223 <outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory>
0224 <testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory>
0225 <plugins>
0226 <plugin>
0227 <groupId>org.scalatest</groupId>
0228 <artifactId>scalatest-maven-plugin</artifactId>
0229 <configuration>
0230 <!-- Specially disable assertions since some Hive tests fail them -->
0231 <argLine>-da -Xmx4g -XX:ReservedCodeCacheSize=${CodeCacheSize} -Dio.netty.tryReflectionSetAccessible=true</argLine>
0232 </configuration>
0233 </plugin>
0234 <plugin>
0235 <groupId>org.apache.maven.plugins</groupId>
0236 <artifactId>maven-enforcer-plugin</artifactId>
0237 <executions>
0238 <execution>
0239 <id>enforce-versions</id>
0240 <goals>
0241 <goal>enforce</goal>
0242 </goals>
0243 <configuration>
0244 <rules>
0245 <bannedDependencies>
0246 <excludes combine.children="append">
0247 <exclude>*:hive-cli</exclude>
0248 </excludes>
0249 </bannedDependencies>
0250 </rules>
0251 </configuration>
0252 </execution>
0253 </executions>
0254 </plugin>
0255 </plugins>
0256 </build>
0257 </project>