From 5e42607ba9fbf7bf963a44ed4aa5ec41e869bb74 Mon Sep 17 00:00:00 2001 From: Christopher Rost <18614530+ChrizZz110@users.noreply.github.com> Date: Fri, 13 Jul 2018 11:39:50 +0200 Subject: [PATCH] [#862] replaced deprecated api usage of hbase store (#880) * [#862] replaced deprecated api usage of hbase store and reordered params of HBase config class constructor * fixes [#862] --- .../common/config/GradoopHBaseConfig.java | 47 +++--- .../storage/impl/hbase/HBaseEPGMStore.java | 69 ++++----- .../impl/hbase/api/ElementHandler.java | 12 +- .../hbase/factory/HBaseEPGMStoreFactory.java | 134 +++++++++--------- .../impl/hbase/handler/HBaseEdgeHandler.java | 10 +- .../hbase/handler/HBaseElementHandler.java | 13 +- .../handler/HBaseGraphElementHandler.java | 10 +- .../hbase/handler/HBaseGraphHeadHandler.java | 8 +- .../hbase/handler/HBaseVertexHandler.java | 6 +- .../flink/io/impl/hbase/HBaseDataSink.java | 9 +- 10 files changed, 159 insertions(+), 159 deletions(-) diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/config/GradoopHBaseConfig.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/config/GradoopHBaseConfig.java index 8c6dcbfaeb8a..9448924929f2 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/config/GradoopHBaseConfig.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/config/GradoopHBaseConfig.java @@ -17,6 +17,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.flink.api.java.ExecutionEnvironment; +import org.apache.hadoop.hbase.TableName; import org.gradoop.common.model.impl.pojo.Edge; import org.gradoop.common.model.impl.pojo.EdgeFactory; import org.gradoop.common.model.impl.pojo.GraphHead; @@ -53,16 +54,16 @@ public class GradoopHBaseConfig extends GradoopStoreConfig< /** * Graph table name. */ - private final String graphTableName; + private final TableName graphTableName; /** * EPGMVertex table name. */ - private final String vertexTableName; + private final TableName vertexTableName; /** * EPGMEdge table name. */ - private final String edgeTableName; + private final TableName edgeTableName; /** * Graph head handler. @@ -108,16 +109,13 @@ private GradoopHBaseConfig( checkArgument(!StringUtils.isEmpty(edgeTableName), "EPGMEdge table name was null or empty"); - this.graphTableName = graphTableName; - this.vertexTableName = vertexTableName; - this.edgeTableName = edgeTableName; + this.graphTableName = TableName.valueOf(graphTableName); + this.vertexTableName = TableName.valueOf(vertexTableName); + this.edgeTableName = TableName.valueOf(edgeTableName); - this.graphHeadHandler = - checkNotNull(graphHeadHandler, "GraphHeadHandler was null"); - this.vertexHandler = - checkNotNull(vertexHandler, "VertexHandler was null"); - this.edgeHandler = - checkNotNull(edgeHandler, "EdgeHandler was null"); + this.graphHeadHandler = checkNotNull(graphHeadHandler, "GraphHeadHandler was null"); + this.vertexHandler = checkNotNull(vertexHandler, "VertexHandler was null"); + this.edgeHandler = checkNotNull(edgeHandler, "EdgeHandler was null"); } /** @@ -130,9 +128,9 @@ private GradoopHBaseConfig( */ private GradoopHBaseConfig( GradoopHBaseConfig config, + String graphTableName, String vertexTableName, - String edgeTableName, - String graphTableName + String edgeTableName ) { this(config.getGraphHeadHandler(), config.getVertexHandler(), @@ -147,11 +145,10 @@ private GradoopHBaseConfig( * Creates a default Configuration using POJO handlers for vertices, edges * and graph heads and default table names. * - *@param env apache flink execution environment + * @param env apache flink execution environment * @return Default Gradoop HBase configuration. */ - public static GradoopHBaseConfig - getDefaultConfig(ExecutionEnvironment env) { + public static GradoopHBaseConfig getDefaultConfig(ExecutionEnvironment env) { GraphHeadHandler graphHeadHandler = new HBaseGraphHeadHandler<>(new GraphHeadFactory()); VertexHandler vertexHandler = @@ -166,7 +163,8 @@ private GradoopHBaseConfig( env, HBaseConstants.DEFAULT_TABLE_GRAPHS, HBaseConstants.DEFAULT_TABLE_VERTICES, - HBaseConstants.DEFAULT_TABLE_EDGES); + HBaseConstants.DEFAULT_TABLE_EDGES + ); } /** @@ -181,23 +179,22 @@ private GradoopHBaseConfig( */ public static GradoopHBaseConfig createConfig( GradoopHBaseConfig gradoopConfig, + String graphTableName, String vertexTableName, - String edgeTableName, - String graphTableName + String edgeTableName ) { - return new GradoopHBaseConfig(gradoopConfig, graphTableName, - vertexTableName, edgeTableName); + return new GradoopHBaseConfig(gradoopConfig, graphTableName, vertexTableName, edgeTableName); } - public String getVertexTableName() { + public TableName getVertexTableName() { return vertexTableName; } - public String getEdgeTableName() { + public TableName getEdgeTableName() { return edgeTableName; } - public String getGraphTableName() { + public TableName getGraphTableName() { return graphTableName; } diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/HBaseEPGMStore.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/HBaseEPGMStore.java index e2a656155684..30e12c868b1a 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/HBaseEPGMStore.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/HBaseEPGMStore.java @@ -16,11 +16,12 @@ package org.gradoop.common.storage.impl.hbase; import com.google.common.base.Preconditions; +import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Get; -import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Scan; +import org.apache.hadoop.hbase.client.Table; import org.gradoop.common.config.GradoopHBaseConfig; import org.gradoop.common.model.impl.id.GradoopId; import org.gradoop.common.model.impl.pojo.Edge; @@ -56,56 +57,53 @@ public class HBaseEPGMStore implements EPGMGraphOutput { //TODO make HBaseEPGMStore implement EPGMGraphPredictableOutput - /** - * Default value for clearing buffer on fail. - */ - private static final boolean DEFAULT_CLEAR_BUFFER_ON_FAIL = true; - /** - * Default value for enabling auto flush in HBase. - */ - private static final boolean DEFAULT_ENABLE_AUTO_FLUSH = true; - /** * Gradoop configuration. */ private final GradoopHBaseConfig config; - /** * HBase table for storing graphs. */ - private final HTable graphHeadTable; + private final Table graphHeadTable; /** * HBase table for storing vertex data. */ - private final HTable vertexTable; + private final Table vertexTable; /** * HBase table for storing edge data. */ - private final HTable edgeTable; + private final Table edgeTable; + /** + * HBase admin instance + */ + private final Admin admin; + /** + * Auto flush flag, default false + */ + private volatile boolean autoFlush; /** * Creates a HBaseEPGMStore based on the given parameters. All parameters * are mandatory and must not be {@code null}. * - * @param graphHeadTable HBase table to store graph data - * @param vertexTable HBase table to store vertex data - * @param edgeTable HBase table to store edge data - * @param config Gradoop Configuration + * @param graphHeadTable HBase table to store graph data + * @param vertexTable HBase table to store vertex data + * @param edgeTable HBase table to store edge data + * @param config Gradoop Configuration + * @param admin HBase admin instance */ public HBaseEPGMStore( - final HTable graphHeadTable, - final HTable vertexTable, - final HTable edgeTable, - final GradoopHBaseConfig config + final Table graphHeadTable, + final Table vertexTable, + final Table edgeTable, + final GradoopHBaseConfig config, + final Admin admin ) { this.graphHeadTable = Preconditions.checkNotNull(graphHeadTable); this.vertexTable = Preconditions.checkNotNull(vertexTable); this.edgeTable = Preconditions.checkNotNull(edgeTable); this.config = Preconditions.checkNotNull(config); - - this.graphHeadTable.setAutoFlush(DEFAULT_ENABLE_AUTO_FLUSH, DEFAULT_CLEAR_BUFFER_ON_FAIL); - this.vertexTable.setAutoFlush(DEFAULT_ENABLE_AUTO_FLUSH, DEFAULT_CLEAR_BUFFER_ON_FAIL); - this.edgeTable.setAutoFlush(DEFAULT_ENABLE_AUTO_FLUSH, DEFAULT_CLEAR_BUFFER_ON_FAIL); + this.admin = Preconditions.checkNotNull(admin); } /** @@ -152,6 +150,9 @@ public void writeGraphHead(@Nonnull final PersistentGraphHead graphHead) throws put = graphHeadHandler.writeGraphHead(put, graphHead); // write to table graphHeadTable.put(put); + if (autoFlush) { + admin.flush(graphHeadTable.getName()); + } } /** @@ -166,6 +167,9 @@ public void writeVertex(@Nonnull final PersistentVertex vertexData) throws put = vertexHandler.writeVertex(put, vertexData); // write to table vertexTable.put(put); + if (autoFlush) { + admin.flush(vertexTable.getName()); + } } /** @@ -180,6 +184,9 @@ public void writeEdge(@Nonnull final PersistentEdge edgeData) throws IOE // write edge data to Put put = edgeHandler.writeEdge(put, edgeData); edgeTable.put(put); + if (autoFlush) { + admin.flush(edgeTable.getName()); + } } /** @@ -267,9 +274,7 @@ public ClosableIterator getEdgeSpace(int cacheSize) throws IOException { */ @Override public void setAutoFlush(boolean autoFlush) { - vertexTable.setAutoFlush(autoFlush, true); - edgeTable.setAutoFlush(autoFlush, true); - graphHeadTable.setAutoFlush(autoFlush, true); + this.autoFlush = autoFlush; } /** @@ -277,9 +282,9 @@ public void setAutoFlush(boolean autoFlush) { */ @Override public void flush() throws IOException { - vertexTable.flushCommits(); - edgeTable.flushCommits(); - graphHeadTable.flushCommits(); + admin.flush(vertexTable.getName()); + admin.flush(edgeTable.getName()); + admin.flush(graphHeadTable.getName()); } /** diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/api/ElementHandler.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/api/ElementHandler.java index ff8ae53e69e4..76c0548f48ed 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/api/ElementHandler.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/api/ElementHandler.java @@ -16,7 +16,7 @@ package org.gradoop.common.storage.impl.hbase.api; import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.client.HBaseAdmin; +import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.gradoop.common.model.impl.id.GradoopId; @@ -109,12 +109,8 @@ Put writeProperties( * Creates table based on the given table descriptor. * * @param admin HBase admin - * @param tableDescriptor description of the table used by that specific - * handler - * @throws IOException + * @param tableDescriptor description of the table used by that specific handler + * @throws IOException on failure */ - void createTable( - final HBaseAdmin admin, - final HTableDescriptor tableDescriptor - ) throws IOException; + void createTable(final Admin admin, final HTableDescriptor tableDescriptor) throws IOException; } diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/factory/HBaseEPGMStoreFactory.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/factory/HBaseEPGMStoreFactory.java index d2ecf3d4a568..8f8d150d2f26 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/factory/HBaseEPGMStoreFactory.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/factory/HBaseEPGMStoreFactory.java @@ -18,8 +18,10 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; -import org.apache.hadoop.hbase.client.HBaseAdmin; -import org.apache.hadoop.hbase.client.HTable; +import org.apache.hadoop.hbase.client.Admin; +import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.client.Table; import org.gradoop.common.config.GradoopHBaseConfig; import org.gradoop.common.model.api.entities.EPGMEdge; import org.gradoop.common.model.api.entities.EPGMGraphHead; @@ -60,10 +62,13 @@ public static HBaseEPGMStore createOrOpenEPGMStore( final String prefix ) { return createOrOpenEPGMStore(config, - GradoopHBaseConfig.createConfig(gradoopHBaseConfig, + GradoopHBaseConfig.createConfig( + gradoopHBaseConfig, prefix + HBaseConstants.DEFAULT_TABLE_GRAPHS, prefix + HBaseConstants.DEFAULT_TABLE_VERTICES, - prefix + HBaseConstants.DEFAULT_TABLE_EDGES)); + prefix + HBaseConstants.DEFAULT_TABLE_EDGES + ) + ); } /** @@ -104,21 +109,29 @@ public static HBaseEPGMStore createOrOpenEPGMStore( final GradoopHBaseConfig gradoopHBaseConfig ) { try { - createTablesIfNotExists(config, gradoopHBaseConfig.getVertexHandler(), + Connection connection = ConnectionFactory.createConnection(config); + + createTablesIfNotExists( + connection.getAdmin(), + gradoopHBaseConfig.getVertexHandler(), gradoopHBaseConfig.getEdgeHandler(), gradoopHBaseConfig.getGraphHeadHandler(), gradoopHBaseConfig.getVertexTableName(), gradoopHBaseConfig.getEdgeTableName(), - gradoopHBaseConfig.getGraphTableName()); + gradoopHBaseConfig.getGraphTableName() + ); - HTable graphDataTable = new HTable(config, - gradoopHBaseConfig.getGraphTableName()); - HTable vertexDataTable = new HTable(config, - gradoopHBaseConfig.getVertexTableName()); - HTable edgeDataTable = new HTable(config, - gradoopHBaseConfig.getEdgeTableName()); + Table graphDataTable = connection.getTable(gradoopHBaseConfig.getGraphTableName()); + Table vertexDataTable = connection.getTable(gradoopHBaseConfig.getVertexTableName()); + Table edgeDataTable = connection.getTable(gradoopHBaseConfig.getEdgeTableName()); - return new HBaseEPGMStore(graphDataTable, vertexDataTable, edgeDataTable, gradoopHBaseConfig); + return new HBaseEPGMStore( + graphDataTable, + vertexDataTable, + edgeDataTable, + gradoopHBaseConfig, + connection.getAdmin() + ); } catch (IOException e) { e.printStackTrace(); return null; @@ -150,8 +163,14 @@ public static void deleteEPGMStore( final String graphTableName ) { try { - deleteTablesIfExists(config, vertexTableName, edgeTableName, - graphTableName); + Connection connection = ConnectionFactory.createConnection(config); + + deleteTablesIfExists( + connection.getAdmin(), + TableName.valueOf(vertexTableName), + TableName.valueOf(edgeTableName), + TableName.valueOf(graphTableName) + ); } catch (IOException e) { e.printStackTrace(); } @@ -160,45 +179,37 @@ public static void deleteEPGMStore( /** * Creates the tables used by the graph store. * - * @param config Hadoop configuration + * @param admin HBAse admin instance * @param vertexHandler vertex storage handler * @param edgeHandler edge storage handler - * @param graphHeadHandler graph storage handler - * @param vertexDataTableName vertex data table name - * @param edgeTableName edge data table name - * @param graphDataTableName graph data table name + * @param graphHeadHandler graph storage handler + * @param vertexTableName vertex data table name + * @param edgeTableName edge data table name + * @param graphTableName graph data table name * @param EPGM graph head type * @param EPGM vertex type * @param EPGM edge type + * @throws IOException if checking for the existence of the tables fails */ private static void createTablesIfNotExists( - final Configuration config, + final Admin admin, final VertexHandler vertexHandler, final EdgeHandler edgeHandler, final GraphHeadHandler graphHeadHandler, - final String vertexDataTableName, - final String edgeTableName, - final String graphDataTableName + final TableName vertexTableName, + final TableName edgeTableName, + final TableName graphTableName ) throws IOException { - HTableDescriptor vertexDataTableDescriptor = - new HTableDescriptor(TableName.valueOf(vertexDataTableName)); - HTableDescriptor edgeDataTableDescriptor = - new HTableDescriptor(TableName.valueOf(edgeTableName)); - HTableDescriptor graphDataTableDescriptor = - new HTableDescriptor(TableName.valueOf(graphDataTableName)); - - HBaseAdmin admin = new HBaseAdmin(config); - - if (!admin.tableExists(vertexDataTableDescriptor.getName())) { - vertexHandler.createTable(admin, vertexDataTableDescriptor); + if (!admin.tableExists(vertexTableName)) { + vertexHandler.createTable(admin, new HTableDescriptor(vertexTableName)); } - if (!admin.tableExists(edgeDataTableDescriptor.getName())) { - edgeHandler.createTable(admin, edgeDataTableDescriptor); + if (!admin.tableExists(edgeTableName)) { + edgeHandler.createTable(admin, new HTableDescriptor(edgeTableName)); } - if (!admin.tableExists(graphDataTableDescriptor.getName())) { - graphHeadHandler.createTable(admin, graphDataTableDescriptor); + if (!admin.tableExists(graphTableName)) { + graphHeadHandler.createTable(admin, new HTableDescriptor(graphTableName)); } admin.close(); @@ -207,35 +218,27 @@ void createTablesIfNotExists( /** * Deletes the tables given tables. * - * @param config cluster configuration + * @param admin HBase admin instance * @param vertexDataTableName vertex data table name * @param edgeDataTableName edge data table name * @param graphDataTableName graph data table name + * @throws IOException if checking for the existence of the tables fails */ private static void deleteTablesIfExists( - final Configuration config, - final String vertexDataTableName, - final String edgeDataTableName, - final String graphDataTableName + final Admin admin, + final TableName vertexDataTableName, + final TableName edgeDataTableName, + final TableName graphDataTableName ) throws IOException { - HTableDescriptor vertexDataTableDescriptor = - new HTableDescriptor(TableName.valueOf(vertexDataTableName)); - HTableDescriptor edgeDataTableDescriptor = - new HTableDescriptor(TableName.valueOf(edgeDataTableName)); - HTableDescriptor graphsTableDescriptor = - new HTableDescriptor(TableName.valueOf(graphDataTableName)); - - HBaseAdmin admin = new HBaseAdmin(config); - - if (admin.tableExists(vertexDataTableDescriptor.getName())) { - deleteTable(admin, vertexDataTableDescriptor); + if (admin.tableExists(vertexDataTableName)) { + deleteTable(admin, vertexDataTableName); } - if (admin.tableExists(edgeDataTableDescriptor.getName())) { - deleteTable(admin, edgeDataTableDescriptor); + if (admin.tableExists(edgeDataTableName)) { + deleteTable(admin, edgeDataTableName); } - if (admin.tableExists(graphsTableDescriptor.getName())) { - deleteTable(admin, graphsTableDescriptor); + if (admin.tableExists(graphDataTableName)) { + deleteTable(admin, graphDataTableName); } admin.close(); @@ -244,14 +247,11 @@ private static void deleteTablesIfExists( /** * Deletes a HBase table. * - * @param admin HBase admin - * @param tableDescriptor descriptor for the table to delete + * @param admin HBase admin + * @param tableName name of the table to delete */ - private static void deleteTable( - final HBaseAdmin admin, - final HTableDescriptor tableDescriptor - ) throws IOException { - admin.disableTable(tableDescriptor.getName()); - admin.deleteTable(tableDescriptor.getName()); + private static void deleteTable(final Admin admin, final TableName tableName) throws IOException { + admin.disableTable(tableName); + admin.deleteTable(tableName); } } diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseEdgeHandler.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseEdgeHandler.java index 2aeae0372165..96f9dd9f8348 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseEdgeHandler.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseEdgeHandler.java @@ -18,7 +18,7 @@ import org.apache.commons.lang.ArrayUtils; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.client.HBaseAdmin; +import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.util.Bytes; @@ -84,7 +84,7 @@ public HBaseEdgeHandler(EPGMEdgeFactory edgeFactory) { * {@inheritDoc} */ @Override - public void createTable(final HBaseAdmin admin, final HTableDescriptor tableDescriptor) + public void createTable(final Admin admin, final HTableDescriptor tableDescriptor) throws IOException { tableDescriptor.addFamily(new HColumnDescriptor(HBaseConstants.CF_META)); tableDescriptor.addFamily(new HColumnDescriptor(HBaseConstants.CF_PROPERTIES)); @@ -96,8 +96,7 @@ public void createTable(final HBaseAdmin admin, final HTableDescriptor tableDesc */ @Override public Put writeSource(Put put, V vertexData) throws IOException { - return put.add(CF_META_BYTES, COL_SOURCE_BYTES, - createVertexIdentifier(vertexData)); + return put.addColumn(CF_META_BYTES, COL_SOURCE_BYTES, createVertexIdentifier(vertexData)); } /** @@ -113,8 +112,7 @@ public GradoopId readSourceId(Result res) throws IOException { */ @Override public Put writeTarget(Put put, V vertexData) throws IOException { - return put.add(CF_META_BYTES, COL_TARGET_BYTES, - createVertexIdentifier(vertexData)); + return put.addColumn(CF_META_BYTES, COL_TARGET_BYTES, createVertexIdentifier(vertexData)); } /** diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseElementHandler.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseElementHandler.java index bcd21bef8b8d..7bb876645009 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseElementHandler.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseElementHandler.java @@ -78,7 +78,7 @@ public GradoopId getId(final byte[] rowKey) throws IOException { @Override public Put writeLabel(final Put put, final EPGMElement entity) { return (entity.getLabel() == null) ? put : - put.add(CF_META_BYTES, COL_LABEL_BYTES, Bytes.toBytes(entity.getLabel())); + put.addColumn(CF_META_BYTES, COL_LABEL_BYTES, Bytes.toBytes(entity.getLabel())); } /** @@ -86,12 +86,13 @@ public Put writeLabel(final Put put, final EPGMElement entity) { */ @Override public Put writeProperty(final Put put, Property property) throws IOException { - PropertyValue value = property.getValue(); - HBasePropertyValueWrapper wrapper = new HBasePropertyValueWrapper(value); - - put.add(CF_PROPERTIES_BYTES, + HBasePropertyValueWrapper wrapper = new HBasePropertyValueWrapper(property.getValue()); + put.addColumn( + CF_PROPERTIES_BYTES, Bytes.toBytes(property.getKey()), - Writables.getBytes(wrapper)); + Writables.getBytes(wrapper) + ); + return put; } diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseGraphElementHandler.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseGraphElementHandler.java index a2d8e5d1cb4d..af9ee057802e 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseGraphElementHandler.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseGraphElementHandler.java @@ -41,11 +41,13 @@ public abstract class HBaseGraphElementHandler extends * {@inheritDoc} */ @Override - public Put writeGraphIds(Put put, EPGMGraphElement graphElement) throws - IOException { - + public Put writeGraphIds(Put put, EPGMGraphElement graphElement) throws IOException { if (graphElement.getGraphCount() > 0) { - put = put.add(CF_META_BYTES, COL_GRAPHS_BYTES, graphElement.getGraphIds().toByteArray()); + put = put.addColumn( + CF_META_BYTES, + COL_GRAPHS_BYTES, + graphElement.getGraphIds().toByteArray() + ); } return put; diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseGraphHeadHandler.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseGraphHeadHandler.java index 2a936b25bc67..9c0957babc2a 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseGraphHeadHandler.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseGraphHeadHandler.java @@ -17,7 +17,7 @@ import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.client.HBaseAdmin; +import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.util.Bytes; @@ -83,7 +83,7 @@ public HBaseGraphHeadHandler(EPGMGraphHeadFactory graphHeadFactory) { * {@inheritDoc} */ @Override - public void createTable(final HBaseAdmin admin, final HTableDescriptor tableDescriptor) + public void createTable(final Admin admin, final HTableDescriptor tableDescriptor) throws IOException { tableDescriptor.addFamily(new HColumnDescriptor(HBaseConstants.CF_META)); tableDescriptor.addFamily(new HColumnDescriptor(HBaseConstants.CF_PROPERTIES)); @@ -98,7 +98,7 @@ public void createTable(final HBaseAdmin admin, final HTableDescriptor tableDesc @Override public Put writeVertices(final Put put, final PersistentGraphHead graphData) throws IOException { for (GradoopId vertexId : graphData.getVertexIds()) { - put.add(CF_VERTICES_BYTES, vertexId.toByteArray(), null); + put.addColumn(CF_VERTICES_BYTES, vertexId.toByteArray(), null); } return put; } @@ -117,7 +117,7 @@ public Set readVertices(final Result res) { @Override public Put writeEdges(Put put, PersistentGraphHead graphData) throws IOException { for (GradoopId edgeId : graphData.getEdgeIds()) { - put.add(CF_EDGES_BYTES, edgeId.toByteArray(), null); + put.addColumn(CF_EDGES_BYTES, edgeId.toByteArray(), null); } return put; } diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseVertexHandler.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseVertexHandler.java index 678f2e1e64f3..80a3e65ee5eb 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseVertexHandler.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/common/storage/impl/hbase/handler/HBaseVertexHandler.java @@ -18,7 +18,7 @@ import org.apache.commons.lang.ArrayUtils; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.client.HBaseAdmin; +import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.util.Bytes; @@ -83,7 +83,7 @@ public HBaseVertexHandler(EPGMVertexFactory vertexFactory) { * {@inheritDoc} */ @Override - public void createTable(final HBaseAdmin admin, final HTableDescriptor tableDescriptor) + public void createTable(final Admin admin, final HTableDescriptor tableDescriptor) throws IOException { tableDescriptor.addFamily(new HColumnDescriptor(HBaseConstants.CF_META)); tableDescriptor.addFamily(new HColumnDescriptor(HBaseConstants.CF_PROPERTIES)); @@ -197,7 +197,7 @@ private Put writeEdges(Put put, final byte[] columnFamily, final Set edgeData private Put writeEdge(final Put put, final byte[] columnFamily, final E edge, boolean isOutgoing) throws IOException { byte[] edgeKey = createEdgeIdentifier(edge, isOutgoing); - put.add(columnFamily, edgeKey, null); + put.addColumn(columnFamily, edgeKey, null); return put; } diff --git a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/flink/io/impl/hbase/HBaseDataSink.java b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/flink/io/impl/hbase/HBaseDataSink.java index 0a72708518d4..dd21de1d89ab 100644 --- a/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/flink/io/impl/hbase/HBaseDataSink.java +++ b/gradoop-store/gradoop-hbase/src/main/java/org/gradoop/flink/io/impl/hbase/HBaseDataSink.java @@ -143,8 +143,8 @@ private void writeGraphHeads(final GraphCollection collection) // write (persistent-graph-data) to HBase table Job job = Job.getInstance(); - job.getConfiguration().set( - TableOutputFormat.OUTPUT_TABLE, getHBaseConfig().getGraphTableName()); + job.getConfiguration() + .set(TableOutputFormat.OUTPUT_TABLE, getHBaseConfig().getGraphTableName().getNameAsString()); persistentGraphDataSet // FIXME remove forced cast... @@ -189,7 +189,7 @@ private void writeVertices(final GraphCollection collection) throws IOException // write (persistent-vertex-data) to HBase table Job job = Job.getInstance(); job.getConfiguration() - .set(TableOutputFormat.OUTPUT_TABLE, getHBaseConfig().getVertexTableName()); + .set(TableOutputFormat.OUTPUT_TABLE, getHBaseConfig().getVertexTableName().getNameAsString()); persistentVertexDataSet .map(new BuildVertexMutation<>(getHBaseConfig().getVertexHandler())) @@ -220,7 +220,8 @@ private void writeEdges(final GraphCollection collection) throws IOException { // write (persistent-edge-data) to HBase table Job job = Job.getInstance(); - job.getConfiguration().set(TableOutputFormat.OUTPUT_TABLE, getHBaseConfig().getEdgeTableName()); + job.getConfiguration() + .set(TableOutputFormat.OUTPUT_TABLE, getHBaseConfig().getEdgeTableName().getNameAsString()); persistentEdgeDataSet .map(new BuildEdgeMutation<>(getHBaseConfig().getEdgeHandler()))