blob: d57255143f99c3f004f85d2d2a8be31af9b222ec [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DataPartitionerLocal (SystemDS 2.1.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DataPartitionerLocal (SystemDS 2.1.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DataPartitionerLocal.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.parfor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html" target="_top">Frames</a></li>
<li><a href="DataPartitionerLocal.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.sysds.runtime.controlprogram.parfor</div>
<h2 title="Class DataPartitionerLocal" class="title">Class DataPartitionerLocal</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor.DataPartitioner</a></li>
<li>
<ul class="inheritance">
<li>org.apache.sysds.runtime.controlprogram.parfor.DataPartitionerLocal</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">DataPartitionerLocal</span>
extends <a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitioner</a></pre>
<div class="block">Partitions a given matrix into row or column partitions with a two pass-approach.
In the first phase the input matrix is read from HDFS and sorted into block partitions
in a staging area in the local file system according to the partition format.
In order to allow for scalable partitioning, we process one block at a time.
Furthermore, in the second phase, all blocks of a partition are append to a sequence file
on HDFS. Block-wise partitioning and write-once semantics of sequence files require the
indirection over the local staging area. For scalable computation, we process one
sequence file at a time.
NOTE: For the resulting partitioned matrix, we store block and cell indexes wrt partition boundaries.
This means that the partitioned matrix CANNOT be read as a traditional matrix because there are
for example multiple blocks with same index (while the actual index is encoded in the path).
In order to enable full read of partition matrices, data converter would need to handle negative
row/col offsets for partitioned read. Currently not done in order to avoid overhead from normal read
and since partitioning only applied if exclusively indexed access.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html#DataPartitionerLocal-org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PartitionFormat-int-">DataPartitionerLocal</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a>&nbsp;dpf,
int&nbsp;par)</code>
<div class="block">DataPartitionerLocal constructor.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html#writeBinaryBlockSequenceFileToHDFS-org.apache.hadoop.mapred.JobConf-java.lang.String-java.lang.String-boolean-">writeBinaryBlockSequenceFileToHDFS</a></span>(org.apache.hadoop.mapred.JobConf&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lpdir,
boolean&nbsp;threadsafe)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html#writeBinaryCellSequenceFileToHDFS-org.apache.hadoop.mapred.JobConf-java.lang.String-java.lang.String-">writeBinaryCellSequenceFileToHDFS</a></span>(org.apache.hadoop.mapred.JobConf&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lpdir)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html#writeTextCellFileToHDFS-org.apache.hadoop.mapred.JobConf-java.lang.String-java.lang.String-">writeTextCellFileToHDFS</a></span>(org.apache.hadoop.mapred.JobConf&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lpdir)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.controlprogram.parfor.DataPartitioner">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.parfor.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitioner</a></h3>
<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html#createPartitionedMatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-boolean-">createPartitionedMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html#createPartitionedMatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-">createPartitionedMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html#createPartitionedMatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-boolean-">createPartitionedMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html#createReuseMatrixBlock-org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PDataPartitionFormat-int-int-">createReuseMatrixBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html#disableBinaryCell--">disableBinaryCell</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DataPartitionerLocal-org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PartitionFormat-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DataPartitionerLocal</h4>
<pre>public&nbsp;DataPartitionerLocal(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a>&nbsp;dpf,
int&nbsp;par)</pre>
<div class="block">DataPartitionerLocal constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dpf</code> - data partitionformat</dd>
<dd><code>par</code> - -1 for serial otherwise number of threads, can be ignored by implementation</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="writeBinaryBlockSequenceFileToHDFS-org.apache.hadoop.mapred.JobConf-java.lang.String-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeBinaryBlockSequenceFileToHDFS</h4>
<pre>public&nbsp;void&nbsp;writeBinaryBlockSequenceFileToHDFS(org.apache.hadoop.mapred.JobConf&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lpdir,
boolean&nbsp;threadsafe)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeBinaryCellSequenceFileToHDFS-org.apache.hadoop.mapred.JobConf-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeBinaryCellSequenceFileToHDFS</h4>
<pre>public&nbsp;void&nbsp;writeBinaryCellSequenceFileToHDFS(org.apache.hadoop.mapred.JobConf&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lpdir)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeTextCellFileToHDFS-org.apache.hadoop.mapred.JobConf-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>writeTextCellFileToHDFS</h4>
<pre>public&nbsp;void&nbsp;writeTextCellFileToHDFS(org.apache.hadoop.mapred.JobConf&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lpdir)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DataPartitionerLocal.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.parfor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html" target="_top">Frames</a></li>
<li><a href="DataPartitionerLocal.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>