[
https://issues.apache.org/jira/browse/FLINK-2055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15410661#comment-15410661
]
ASF GitHub Bot commented on FLINK-2055:
---------------------------------------
Github user ramkrish86 commented on a diff in the pull request:
https://github.com/apache/flink/pull/2332#discussion_r73788575
--- Diff:
flink-streaming-connectors/flink-connector-hbase/src/main/java/org/apache/flink/streaming/connectors/hbase/HBaseMapper.java
---
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.streaming.connectors.hbase;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Maps a input value to a row in HBase table.
+ *
+ * @param <IN> input type
+ */
+public interface HBaseMapper<IN> extends Serializable {
+
+ /**
+ * Given a input value return the HBase row key.
+ *
+ * @param value
+ * @return row key
+ */
+ byte[] rowKey(IN value);
+
+ /**
+ * Given a input value return a list of HBase columns.
+ *
+ * @param value
+ * @return a list of HBase columns
+ */
+ List<HBaseColumn> columns(IN value);
+
+ /**
+ * Represents a HBase column which can be either a standard one or a
counter.
+ */
+ class HBaseColumn {
+ private byte[] family;
+ private byte[] qualifier;
+ private byte[] value;
+ private long timestamp;
+ private Long increment;
+
+ public HBaseColumn(byte[] family, byte[] qualifier, byte[]
value) {
+ this(family, qualifier, value, -1);
+ }
+
+ public HBaseColumn(byte[] family, byte[] qualifier, byte[]
value, long timestamp) {
+ this.family = family;
+ this.qualifier = qualifier;
+ this.value = value;
+ this.timestamp = timestamp;
+ }
+
+ public HBaseColumn(byte[] family, byte[] qualifier, long
increment) {
+ this.family = family;
+ this.qualifier = qualifier;
+ this.increment = increment;
+ }
+
+ public byte[] getFamily() {
+ return family;
+ }
+
+ public byte[] getQualifier() {
+ return qualifier;
+ }
+
+ public byte[] getValue() {
+ return value;
+ }
+
+ public long getTs() {
+ return timestamp;
+ }
+
+ public Long getIncrement() {
+ return increment;
--- End diff --
The reason to say this was even Append is also a Mutation.
> Implement Streaming HBaseSink
> -----------------------------
>
> Key: FLINK-2055
> URL: https://issues.apache.org/jira/browse/FLINK-2055
> Project: Flink
> Issue Type: New Feature
> Components: Streaming, Streaming Connectors
> Affects Versions: 0.9
> Reporter: Robert Metzger
> Assignee: Hilmi Yildirim
>
> As per :
> http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Write-Stream-to-HBase-td1300.html
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)