| <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&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>–></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’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 -> 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 -> 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> |
| |