You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemall.apache.org by my...@apache.org on 2016/12/02 08:02:07 UTC
[17/50] [abbrv] incubator-hivemall git commit: refine
transpose_and_dot
refine transpose_and_dot
Project: http://git-wip-us.apache.org/repos/asf/incubator-hivemall/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hivemall/commit/abbf5492
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hivemall/tree/abbf5492
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hivemall/diff/abbf5492
Branch: refs/heads/JIRA-22/pr-385
Commit: abbf5492b95dd69e347580c59ac044a78627c547
Parents: a16a3fd
Author: amaya <gi...@sapphire.in.net>
Authored: Wed Sep 21 13:11:00 2016 +0900
Committer: amaya <gi...@sapphire.in.net>
Committed: Wed Sep 21 13:40:54 2016 +0900
----------------------------------------------------------------------
.../tools/matrix/TransposeAndDotUDAF.java | 32 +++++++++++---------
1 file changed, 18 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-hivemall/blob/abbf5492/core/src/main/java/hivemall/tools/matrix/TransposeAndDotUDAF.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/hivemall/tools/matrix/TransposeAndDotUDAF.java b/core/src/main/java/hivemall/tools/matrix/TransposeAndDotUDAF.java
index 1e54004..9d68f93 100644
--- a/core/src/main/java/hivemall/tools/matrix/TransposeAndDotUDAF.java
+++ b/core/src/main/java/hivemall/tools/matrix/TransposeAndDotUDAF.java
@@ -127,33 +127,37 @@ public final class TransposeAndDotUDAF extends AbstractGenericUDAFResolver {
@Override
public AbstractAggregationBuffer getNewAggregationBuffer() throws HiveException {
- TransposeAndDotAggregationBuffer myAgg = new TransposeAndDotAggregationBuffer();
+ final TransposeAndDotAggregationBuffer myAgg = new TransposeAndDotAggregationBuffer();
reset(myAgg);
return myAgg;
}
@Override
public void reset(AggregationBuffer agg) throws HiveException {
- TransposeAndDotAggregationBuffer myAgg = (TransposeAndDotAggregationBuffer) agg;
+ final TransposeAndDotAggregationBuffer myAgg = (TransposeAndDotAggregationBuffer) agg;
myAgg.reset();
}
@Override
public void iterate(AggregationBuffer agg, Object[] parameters) throws HiveException {
- TransposeAndDotAggregationBuffer myAgg = (TransposeAndDotAggregationBuffer) agg;
+ final Object matrix0RowObj = parameters[0];
+ final Object matrix1RowObj = parameters[1];
+ Preconditions.checkNotNull(matrix0RowObj);
+ Preconditions.checkNotNull(matrix1RowObj);
+
+ final TransposeAndDotAggregationBuffer myAgg = (TransposeAndDotAggregationBuffer) agg;
+
+ // init
if (matrix0Row == null) {
- matrix0Row = new double[matrix0RowOI.getListLength(parameters[0])];
+ matrix0Row = new double[matrix0RowOI.getListLength(matrix0RowObj)];
}
if (matrix1Row == null) {
- matrix1Row = new double[matrix1RowOI.getListLength(parameters[1])];
+ matrix1Row = new double[matrix1RowOI.getListLength(matrix1RowObj)];
}
- HiveUtils.toDoubleArray(parameters[0], matrix0RowOI, matrix0ElOI, matrix0Row, false);
- HiveUtils.toDoubleArray(parameters[1], matrix1RowOI, matrix1ElOI, matrix1Row, false);
-
- Preconditions.checkNotNull(matrix0Row);
- Preconditions.checkNotNull(matrix1Row);
+ HiveUtils.toDoubleArray(matrix0RowObj, matrix0RowOI, matrix0ElOI, matrix0Row, false);
+ HiveUtils.toDoubleArray(matrix1RowObj, matrix1RowOI, matrix1ElOI, matrix1Row, false);
if (myAgg.aggMatrix == null) {
myAgg.init(matrix0Row.length, matrix1Row.length);
@@ -172,9 +176,9 @@ public final class TransposeAndDotUDAF extends AbstractGenericUDAFResolver {
return;
}
- TransposeAndDotAggregationBuffer myAgg = (TransposeAndDotAggregationBuffer) agg;
+ final TransposeAndDotAggregationBuffer myAgg = (TransposeAndDotAggregationBuffer) agg;
- List matrix = aggMatrixOI.getList(other);
+ final List matrix = aggMatrixOI.getList(other);
final int n = matrix.size();
final double[] row = new double[aggMatrixRowOI.getListLength(matrix.get(0))];
for (int i = 0; i < n; i++) {
@@ -197,9 +201,9 @@ public final class TransposeAndDotUDAF extends AbstractGenericUDAFResolver {
@Override
public Object terminate(AggregationBuffer agg) throws HiveException {
- TransposeAndDotAggregationBuffer myAgg = (TransposeAndDotAggregationBuffer) agg;
+ final TransposeAndDotAggregationBuffer myAgg = (TransposeAndDotAggregationBuffer) agg;
- List<List<DoubleWritable>> result = new ArrayList<List<DoubleWritable>>();
+ final List<List<DoubleWritable>> result = new ArrayList<List<DoubleWritable>>();
for (double[] row : myAgg.aggMatrix) {
result.add(WritableUtils.toWritableList(row));
}