<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
    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 rdf:about="http://hive.apache.org">
    <created>2011-11-09</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache Hive</name>
    <homepage rdf:resource="http://hive.apache.org" />
    <asfext:pmc rdf:resource="http://hive.apache.org" />
    <shortdesc>The Apache Hive (TM) data warehouse software facilitates querying and managing large datasets residing in distributed storage.</shortdesc>
    <description>The Apache Hive (TM) data warehouse software facilitates querying and managing large datasets residing in distributed storage. Built on top of Apache Hadoop (TM), it provides

* tools to enable easy data extract/transform/load (ETL)
* a mechanism to impose structure on a variety of data formats
* access to files stored either directly in Apache HDFS (TM) or in other data storage systems such as Apache HBase (TM)
* query execution via MapReduce

Hive defines a simple SQL-like query language, called HiveQL, that enables users familiar with SQL to query the data. At the same time, this language also allows programmers who are familiar with the MapReduce framework to be able to plug in their custom mappers and reducers to perform more sophisticated analysis that may not be supported by the built-in capabilities of the language. HiveQL can also be extended with custom scalar functions (UDF's), aggregations (UDAF's), and table functions (UDTF's).
</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/HIVE" />
    <mailing-list rdf:resource="http://hive.apache.org/mailing_lists.html" />
    <download-page rdf:resource="http://hive.apache.org/releases.html" />
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/database" />
    <repository>
      <SVNRepository>
        <location rdf:resource="http://svn.apache.org/repos/asf/hive/"/>
        <browse rdf:resource="http://svn.apache.org/viewcvs.cgi/hive/"/>
      </SVNRepository>
    </repository>
    <maintainer>
      <foaf:Person>
        <foaf:name>John Sichi</foaf:name>
          <foaf:mbox rdf:resource="mailto:jvs@apache.org"/>
      </foaf:Person>
    </maintainer>
  </Project>
</rdf:RDF>
