blob: bd6736eb1c62214f922454a60a3ff535efeddd20 [file] [log] [blame]
<html>
<head>
<script type="text/javascript">
WEB_SOCKET_SWF_LOCATION = "/__rack/WebSocketMain.swf";
</script>
<script type="text/javascript" src="/__rack/swfobject.js"></script>
<script type="text/javascript" src="/__rack/web_socket.js"></script>
<script type="text/javascript">
RACK_LIVERELOAD_PORT = 35729;
</script>
<script type="text/javascript" src="/__rack/livereload.js?host=0.0.0.0&amp;port=35729"></script>
<meta charset="utf-8">
<title>Apache Parquet</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link href="../assets/css/bootstrap.css" rel="stylesheet">
<link href="../assets/css/bootstrap-theme.css" rel="stylesheet">
<link href="../assets/css/font-awesome.css" rel="stylesheet">
<!-- JS -->
<script type="text/javascript" src="../assets/js/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="../assets/js/bootstrap.js"></script>
<!-- Analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-39101739-5']);
_gaq.push(['_setDomainName', 'apache.org']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="navbar navbar-custom navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="img-responsive pull-left" href="/">
<img src="../assets/img/parquet_logo.png" alt="Apache Parquet logo" />
</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="/documentation/latest/">Documentation</a></li>
<li><a href="/downloads">Download</a></li>
<li><a href="/presentations">Presentations</a></li>
<li><a href="/adopters">Adopters</a></li>
<li class="dropdown">
<a href="/community">Get Involved <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://issues.apache.org/jira/browse/parquet"><i class="fa fa-bug"></i> JIRA (Bugs)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://gitbox.apache.org/repos/asf?p=parquet-mr.git"><i class="fa fa-code"></i> Source (Apache)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/apache/parquet-mr"><i class="fa fa-github-alt"></i> Source (GitHub)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="/contribute"><i class="fa fa-code-fork"></i> Contributing</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/ApacheParquet"><i class="fa fa-twitter"></i> @ApacheParquet</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://stackoverflow.com/questions/tagged/parquet"><i class="fa fa-stack-overflow"></i> StackOverflow</a></li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!--
<div class="navbar navbar-custom navbar-static-top">
<div class="navbar-header">
<a class="img-responsive pull-left" href="/">
<img src="../assets/img/parquet_logo.png" alt="Apache Parquet logo" />
</a>
<div class="container-fluid">
<ul class="nav navbar-nav">
<li><a href="/documentation/latest/">Documentation</a></li>
<li><a href="/downloads">Download</a></li>
<li><a href="/presentations">Presentations</a></li>
<li><a href="/adopters">Adopters</a></li>
<li class="dropdown">
<a id="drop1" href="/community">Get Involved <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://issues.apache.org/jira/browse/parquet"><i class="fa fa-bug"></i> JIRA (Bugs)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://git-wip-us.apache.org/repos/asf?s=parquet"><i class="fa fa-code"></i> Source (Apache)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/apache/parquet-mr"><i class="fa fa-github-alt"></i> Source (GitHub)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="/contribute"><i class="fa fa-code-fork"></i> Contributing</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/ApacheParquet"><i class="fa fa-twitter"></i> @ApacheParquet</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://stackoverflow.com/questions/tagged/parquet"><i class="fa fa-stack-overflow"></i> StackOverflow</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://plus.google.com/events/c36apc97f7invko9p128hq9e6b8"><i class="fa fa-google"></i> Google Hangout</a></li>
</ul>
</li>
</ul>
</div>
</div>
<hr />
</div>
<p>&ndash;&gt;</p>
<div class="container">
<!-- magical breadcrumbs -->
<ol class="breadcrumb">
<li>
<div class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Apache Software Foundation <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu">
<li><a href="http://www.apache.org">Apache Homepage</a></li>
<li><a href="http://www.apache.org/licenses/">Apache License</a></li>
<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a href="http://www.apache.org/security/">Security</a></li>
</ul>
</div>
</li>
<li><a href="http://parquet.apache.org">Apache Parquet</a></li>
</ol>
<!-- /breadcrumb -->
</div>
<div class="container">
<h1 id="how-to-contribute">How To Contribute</h1>
<h2 id="pull-requests">Pull Requests</h2>
<p>We prefer to receive contributions in the form of GitHub pull requests. Please send pull requests against the <a href="https://github.com/apache/parquet-mr">github.com/apache/parquet-mr</a> repository. If you&rsquo;ve previously forked Parquet from its old location, you will need to add a remote or update your origin remote to <a href="https://github.com/apache/incubator-parquet-mr.git">https://github.com/apache/incubator-parquet-mr.git</a>
Here are a few tips to get your contribution in:</p>
<ol>
<li>Break your work into small, single-purpose patches if possible. It’s much harder to merge in a large change with a lot of disjoint features.</li>
<li>Create a JIRA for your patch on the <a href="https://issues.apache.org/jira/browse/PARQUET">Parquet Project JIRA</a>.</li>
<li>Submit the patch as a GitHub pull request against the master branch. For a tutorial, see the GitHub guides on forking a repo and sending a pull request. Prefix your pull request name with the JIRA name (ex: <a href="https://github.com/apache/parquet-mr/pull/5">https://github.com/apache/parquet-mr/pull/5</a>).</li>
<li>Make sure that your code passes the unit tests. You can run the tests with <code>mvn test</code> in the root directory. </li>
<li>Add new unit tests for your code. </li>
<li>All Pull Requests are tested automatically on <a href="https://github.com/apache/parquet-mr/actions">GitHub Actions</a>. <a href="https://travis-ci.org/github/apache/parquet-mr">TravisCI</a> is also used to run the tests on ARM64 CPU architecture</li>
</ol>
<p>If you’d like to report a bug but don’t have time to fix it, you can still post it to our <a href="https://issues.apache.org/jira/browse/PARQUET">issue tracker</a>, or email the mailing list (<a href="mailto:dev@parquet.apache.org">dev@parquet.apache.org</a>).</p>
<h2 id="committers">Committers</h2>
<p>Merging a pull request requires being a comitter on the project.</p>
<p>How to merge a Pull request (have an apache and github-apache remote setup):</p>
<div class="highlight"><pre class="highlight plaintext"><code>git remote add github-apache git@github.com:apache/parquet-mr.git
git remote add apache https://gitbox.apache.org/repos/asf?p=parquet-mr.git
</code></pre></div>
<p>run the following command</p>
<div class="highlight"><pre class="highlight plaintext"><code>dev/merge_parquet_pr.py
</code></pre></div>
<p>example output:</p>
<div class="highlight"><pre class="highlight plaintext"><code>Which pull request would you like to merge? (e.g. 34):
</code></pre></div>
<p>Type the pull request number (from <a href="https://github.com/apache/parquet-mr/pulls">https://github.com/apache/parquet-mr/pulls</a>) and hit enter.</p>
<div class="highlight"><pre class="highlight plaintext"><code>=== Pull Request #X ===
title Blah Blah Blah
source repo/branch
target master
url https://api.github.com/repos/apache/parquet-mr/pulls/X
Proceed with merging pull request #3? (y/n):
</code></pre></div>
<p>If this looks good, type <code>y</code> and hit enter.</p>
<div class="highlight"><pre class="highlight plaintext"><code>From gitbox.apache.org:/repos/asf/parquet-mr.git
* [new branch] master -&gt; PR_TOOL_MERGE_PR_3_MASTER
Switched to branch 'PR_TOOL_MERGE_PR_3_MASTER'
Merge complete (local ref PR_TOOL_MERGE_PR_3_MASTER). Push to apache? (y/n):
</code></pre></div>
<p>A local branch with the merge has been created. Type <code>y</code> and hit enter to push it to apache master</p>
<div class="highlight"><pre class="highlight plaintext"><code>Counting objects: 67, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (26/26), done.
Writing objects: 100% (36/36), 5.32 KiB, done.
Total 36 (delta 17), reused 0 (delta 0)
To gitbox.apache.org:/repos/asf/parquet-mr.git
b767ac4..485658a PR_TOOL_MERGE_PR_X_MASTER -&gt; master
Restoring head pointer to b767ac4e
Note: checking out 'b767ac4e'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_name
HEAD is now at b767ac4... Update README.md
Deleting local branch PR_TOOL_MERGE_PR_X
Deleting local branch PR_TOOL_MERGE_PR_X_MASTER
Pull request #X merged!
Merge hash: 485658a5
Would you like to pick 485658a5 into another branch? (y/n):
</code></pre></div>
<p>For now just say <code>n</code> as we have 1 branch</p>
<h2 id="website">Website</h2>
<p>We use middleman to generate the website content from markdown and other
dynamic templates. The following steps assume you have a working
ruby environment setup</p>
<div class="highlight"><pre class="highlight plaintext"><code>gem install bundler
bundle install
</code></pre></div>
<h3 id="cloning-the-website">Cloning the website</h3>
<p>Cloning the website from git:</p>
<div class="highlight"><pre class="highlight plaintext"><code>git clone https://github.com/apache/parquet-site
</code></pre></div>
<h3 id="make-changes-in-source">Make changes in source/</h3>
<p>Make any changes in the source directory:</p>
<div class="highlight"><pre class="highlight plaintext"><code>cd parquet-site/source/
vim contribute.html.md
</code></pre></div>
<h3 id="generating-the-website">Generating the website</h3>
<p>To generate the static wesbite for Apache Parquet run the following commands at the root site directory:</p>
<div class="highlight"><pre class="highlight plaintext"><code>bundle exec middleman build
git add .
git commit -m 'made changes to the site'
git push
</code></pre></div>
<p>(git push can only be done by a committer. If you are not a committer then you
may create a pull reqest from your forked repository and let a committer push
your changes.)</p>
<h3 id="live-development">Live Development</h3>
<p>Live development of the site enables automatic reload when changes are saved.
To enable run the following command and then open a browser and navigate to
<a href="http://localhost:4567/">http://localhost:4567</a> </p>
<div class="highlight"><pre class="highlight plaintext"><code>bundle exec middleman
</code></pre></div>
<h3 id="publishing-the-site">Publishing the Site</h3>
<p>The website uses gitpubsub. The output folder contains the websites content
and when committed to the git repository it will be automatically deployed to
the live site. </p>
</div>
<div class="container">
<hr>
<footer class="footer">
<div class="row-fluid">
<div class="span12 text-left">
<div class="span12">
Copyright 2018 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. Apache Parquet and the Apache feather logo are trademarks of The Apache Software Foundation.
</div>
</div>
</div>
</footer>
</div>
</body>
</html>