org.apache.hadoop.hbase.client.Put.setCellVisibility()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(13.6k)|赞(0)|评价(0)|浏览(204)

本文整理了Java中org.apache.hadoop.hbase.client.Put.setCellVisibility()方法的一些代码示例,展示了Put.setCellVisibility()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Put.setCellVisibility()方法的具体详情如下:
包路径:org.apache.hadoop.hbase.client.Put
类名称:Put
方法名:setCellVisibility

Put.setCellVisibility介绍

暂无

代码示例

代码示例来源:origin: apache/hbase

@Override
 protected void addPutToKv(Put put, Cell kv) throws IOException {
  String visibilityExps = split[index * 2] + OR + split[(index * 2) + 1];
  put.setCellVisibility(new CellVisibility(visibilityExps));
  super.addPutToKv(put, kv);
 }
}

代码示例来源:origin: apache/hbase

static Table createTableAndWriteDataWithLabels(TableName tableName, String... labelExps)
  throws Exception {
 List<Put> puts = new ArrayList<>(labelExps.length);
 for (int i = 0; i < labelExps.length; i++) {
  Put put = new Put(Bytes.toBytes("row" + (i+1)));
  put.addColumn(fam, qual, HConstants.LATEST_TIMESTAMP, value);
  put.setCellVisibility(new CellVisibility(labelExps[i]));
  puts.add(put);
 }
 Table table = TEST_UTIL.createTable(tableName, fam);
 table.put(puts);
 return table;
}

代码示例来源:origin: apache/hbase

static Table createTableAndWriteDataWithLabels(TableName tableName, String... labelExps)
   throws Exception {
  List<Put> puts = new ArrayList<>(labelExps.length + 1);
  for (int i = 0; i < labelExps.length; i++) {
   Put put = new Put(Bytes.toBytes("row" + (i+1)));
   put.addColumn(TEST_FAMILY, TEST_QUALIFIER, HConstants.LATEST_TIMESTAMP, ZERO);
   put.setCellVisibility(new CellVisibility(labelExps[i]));
   puts.add(put);
  }
  Table table = TEST_UTIL.createTable(tableName, TEST_FAMILY);
  table.put(puts);
  return table;
 }
}

代码示例来源:origin: apache/hbase

private Table createTableAndWriteDataWithLabels(String... labelExps) throws Exception {
 Table table = createTable(fam);
 int i = 1;
 List<Put> puts = new ArrayList<>(labelExps.length);
 for (String labelExp : labelExps) {
  Put put = new Put(Bytes.toBytes("row" + i));
  put.addColumn(fam, qual, HConstants.LATEST_TIMESTAMP, value);
  put.setCellVisibility(new CellVisibility(labelExp));
  puts.add(put);
  table.put(put);
  i++;
 }
 // table.put(puts);
 return table;
}

代码示例来源:origin: apache/hbase

private Table doPutsWithDiffCols(TableName tableName) throws IOException, InterruptedIOException,
  RetriesExhaustedWithDetailsException, InterruptedException {
 createTable(tableName, 5);
 List<Put> puts = new ArrayList<>(5);
 Put put = new Put(Bytes.toBytes("row1"));
 put.addColumn(fam, qual, 123L, value);
 put.setCellVisibility(new CellVisibility(CONFIDENTIAL));
 puts.add(put);
 put = new Put(Bytes.toBytes("row1"));
 put.addColumn(fam, qual, 124L, value);
 put.setCellVisibility(new CellVisibility(
   "(" + CONFIDENTIAL + "&" + PRIVATE + ")|(" + TOPSECRET + "&" + SECRET + ")"));
 puts.add(put);
 put = new Put(Bytes.toBytes("row1"));
 put.addColumn(fam, qual, 125L, value);
 put.setCellVisibility(new CellVisibility(SECRET + "&" + TOPSECRET));
 puts.add(put);
 put = new Put(Bytes.toBytes("row1"));
 put.addColumn(fam, qual1, 126L, value);
 put.setCellVisibility(new CellVisibility(SECRET + "&" + TOPSECRET));
 puts.add(put);
 put = new Put(Bytes.toBytes("row1"));
 put.addColumn(fam, qual2, 127L, value);
 put.setCellVisibility(new CellVisibility(
   "(" + CONFIDENTIAL + "&" + PRIVATE + ")|(" + TOPSECRET + "&" + SECRET + ")"));
 puts.add(put);
 Table table = TEST_UTIL.getConnection().getTable(tableName);
 table.put(puts);
 return table;
}

代码示例来源:origin: apache/hbase

static Table writeData(TableName tableName, String... labelExps) throws Exception {
 Table table = TEST_UTIL.getConnection().getTable(TABLE_NAME);
 int i = 1;
 List<Put> puts = new ArrayList<>(labelExps.length);
 for (String labelExp : labelExps) {
  Put put = new Put(Bytes.toBytes("row" + i));
  put.addColumn(fam, qual, HConstants.LATEST_TIMESTAMP, value);
  put.setCellVisibility(new CellVisibility(labelExp));
  put.setAttribute(NON_VISIBILITY, Bytes.toBytes(TEMP));
  puts.add(put);
  i++;
 }
 table.put(puts);
 return table;
}
// A simple BaseRegionbserver impl that allows to add a non-visibility tag from the

代码示例来源:origin: apache/hbase

private static int insertData(TableName tableName, String column, double prob) throws IOException {
 byte[] k = new byte[3];
 byte[][] famAndQf = CellUtil.parseColumn(Bytes.toBytes(column));
 List<Put> puts = new ArrayList<>(9);
 for (int i = 0; i < 9; i++) {
  Put put = new Put(Bytes.toBytes("row" + i));
  put.setDurability(Durability.SKIP_WAL);
  put.addColumn(famAndQf[0], famAndQf[1], k);
  put.setCellVisibility(new CellVisibility("(" + SECRET + "|" + CONFIDENTIAL + ")" + "&" + "!"
    + TOPSECRET));
  puts.add(put);
 }
 try (Table table = TEST_UTIL.getConnection().getTable(tableName)) {
  table.put(puts);
 }
 return puts.size();
}

代码示例来源:origin: apache/hbase

private static Table createTableAndWriteDataWithLabels(TableName tableName, String... labelExps)
  throws Exception {
 Table table = null;
 try {
  table = TEST_UTIL.createTable(tableName, fam);
  int i = 1;
  List<Put> puts = new ArrayList<>(labelExps.length);
  for (String labelExp : labelExps) {
   Put put = new Put(Bytes.toBytes("row" + i));
   put.addColumn(fam, qual, HConstants.LATEST_TIMESTAMP, value);
   put.setCellVisibility(new CellVisibility(labelExp));
   puts.add(put);
   i++;
  }
  table.put(puts);
 } finally {
  if (table != null) {
   table.close();
  }
 }
 return table;
}

代码示例来源:origin: apache/hbase

@Override
 public Void run() throws Exception {
  try (Connection connection = ConnectionFactory.createConnection(conf);
     Table table = connection.getTable(tableName)) {
   Put put = new Put(row1);
   put.addColumn(fam, qual, HConstants.LATEST_TIMESTAMP, val);
   put.setCellVisibility(new CellVisibility(TOPSECRET));
   table.put(put);
  }
  return null;
 }
};

代码示例来源:origin: apache/hbase

private Table createTableAndWriteDataWithLabels(long[] timestamp, String... labelExps)
  throws Exception {
 Table table = createTable(fam);
 int i = 1;
 List<Put> puts = new ArrayList<>(labelExps.length);
 for (String labelExp : labelExps) {
  Put put = new Put(Bytes.toBytes("row" + i));
  put.addColumn(fam, qual, timestamp[i - 1], value);
  put.setCellVisibility(new CellVisibility(labelExp));
  puts.add(put);
  table.put(put);
  TEST_UTIL.getAdmin().flush(table.getName());
  i++;
 }
 return table;
}

代码示例来源:origin: apache/hbase

@Override
 public Void run() throws Exception {
  try (Connection connection = ConnectionFactory.createConnection(conf);
     Table table = connection.getTable(tableName)) {
   Put p = new Put(row1);
   p.setCellVisibility(new CellVisibility(PUBLIC + "&" + TOPSECRET));
   p.addColumn(fam, qual, 125L, value);
   table.put(p);
   Assert.fail("Testcase should fail with AccesDeniedException");
  } catch (Throwable t) {
   assertTrue(t.getMessage().contains("AccessDeniedException"));
  }
  return null;
 }
};

代码示例来源:origin: apache/hbase

@Override
 public Void run() throws Exception {
  try (Connection connection = ConnectionFactory.createConnection(conf);
     Table table = TEST_UTIL.createTable(tableName, CF)) {
   Put put = new Put(ROW_1);
   put.addColumn(CF, Q1, HConstants.LATEST_TIMESTAMP, value1);
   put.setCellVisibility(new CellVisibility(SECRET));
   table.put(put);
   put = new Put(ROW_1);
   put.addColumn(CF, Q2, HConstants.LATEST_TIMESTAMP, value2);
   put.setCellVisibility(new CellVisibility(CONFIDENTIAL));
   table.put(put);
   put = new Put(ROW_1);
   put.addColumn(CF, Q3, HConstants.LATEST_TIMESTAMP, value3);
   table.put(put);
   return null;
  }
 }
});

代码示例来源:origin: apache/hbase

@Override
 public Void run() throws Exception {
  try (Connection connection = ConnectionFactory.createConnection(conf);
     Table table = TEST_UTIL.createTable(tableName, CF)) {
   Put put = new Put(ROW_1);
   put.addColumn(CF, Q1, HConstants.LATEST_TIMESTAMP, value);
   put.setCellVisibility(new CellVisibility(SECRET));
   table.put(put);
   put = new Put(ROW_1);
   put.addColumn(CF, Q2, HConstants.LATEST_TIMESTAMP, value);
   put.setCellVisibility(new CellVisibility(CONFIDENTIAL));
   table.put(put);
   put = new Put(ROW_1);
   put.addColumn(CF, Q3, HConstants.LATEST_TIMESTAMP, value);
   table.put(put);
   return null;
  }
 }
});

代码示例来源:origin: apache/hbase

@Override
 public Void run() throws Exception {
  try (Connection connection = ConnectionFactory.createConnection(conf);
     Table table = connection.getTable(tableName)) {
   Put put = new Put(ROW_1);
   put.addColumn(CF, Q1, HConstants.LATEST_TIMESTAMP, value1);
   put.setCellVisibility(new CellVisibility(SECRET));
   table.put(put);
   put = new Put(ROW_1);
   put.addColumn(CF, Q2, HConstants.LATEST_TIMESTAMP, value2);
   put.setCellVisibility(new CellVisibility(CONFIDENTIAL));
   table.put(put);
   put = new Put(ROW_1);
   put.addColumn(CF, Q3, HConstants.LATEST_TIMESTAMP, value3);
   table.put(put);
  }
  return null;
 }
});

代码示例来源:origin: apache/hbase

@Override
protected void map(NullWritable key, NullWritable value, Context context) throws IOException,
  InterruptedException {
 String suffix = "/" + shortTaskId;
 int BLOCK_SIZE = (int) (recordsToWrite / 100);
 for (long i = 0; i < recordsToWrite;) {
  for (long idx = 0; idx < BLOCK_SIZE && i < recordsToWrite; idx++, i++) {
   int expIdx = rand.nextInt(BLOCK_SIZE) % VISIBILITY_EXPS_COUNT;
   String exp = VISIBILITY_EXPS[expIdx];
   byte[] row = Bytes.add(Bytes.toBytes(i), Bytes.toBytes(suffix), Bytes.toBytes(exp));
   Put p = new Put(row);
   p.addColumn(TEST_FAMILY, TEST_QUALIFIER, HConstants.EMPTY_BYTE_ARRAY);
   p.setCellVisibility(new CellVisibility(exp));
   getCounter(expIdx).increment(1);
   mutator.mutate(p);
   if (i % 100 == 0) {
    context.setStatus("Written " + i + "/" + recordsToWrite + " records");
    context.progress();
   }
  }
  // End of block, flush all of them before we start writing anything
  // pointing to these!
  mutator.flush();
 }
}

代码示例来源:origin: apache/hbase

@Test
public void testWithSAGStack() throws Exception {
 TableName tableName = TableName.valueOf(TEST_NAME.getMethodName());
 try (Table table = TEST_UTIL.createTable(tableName, CF)) {
  Put put = new Put(ROW_1);
  put.addColumn(CF, Q1, HConstants.LATEST_TIMESTAMP, value);
  put.setCellVisibility(new CellVisibility(SECRET));
  table.put(put);
  put = new Put(ROW_1);
  put.addColumn(CF, Q2, HConstants.LATEST_TIMESTAMP, value);
  put.setCellVisibility(new CellVisibility(CONFIDENTIAL));
  table.put(put);
  LabelFilteringScanLabelGenerator.labelToFilter = CONFIDENTIAL;
  Scan s = new Scan();
  s.setAuthorizations(new Authorizations(SECRET, CONFIDENTIAL));
  ResultScanner scanner = table.getScanner(s);
  Result next = scanner.next();
  assertNotNull(next.getColumnLatestCell(CF, Q1));
  assertNull(next.getColumnLatestCell(CF, Q2));
 }
}

代码示例来源:origin: apache/hbase

@Test
public void testLabelsWithCheckAndPut() throws Throwable {
 TableName tableName = TableName.valueOf(TEST_NAME.getMethodName());
 try (Table table = TEST_UTIL.createTable(tableName, fam)) {
  byte[] row1 = Bytes.toBytes("row1");
  Put put = new Put(row1);
  put.addColumn(fam, qual, HConstants.LATEST_TIMESTAMP, value);
  put.setCellVisibility(new CellVisibility(SECRET + " & " + CONFIDENTIAL));
  table.checkAndMutate(row1, fam).qualifier(qual).ifNotExists().thenPut(put);
  byte[] row2 = Bytes.toBytes("row2");
  put = new Put(row2);
  put.addColumn(fam, qual, HConstants.LATEST_TIMESTAMP, value);
  put.setCellVisibility(new CellVisibility(SECRET));
  table.checkAndMutate(row2, fam).qualifier(qual).ifNotExists().thenPut(put);
  Scan scan = new Scan();
  scan.setAuthorizations(new Authorizations(SECRET));
  ResultScanner scanner = table.getScanner(scan);
  Result result = scanner.next();
  assertTrue(!result.isEmpty());
  assertTrue(Bytes.equals(row2, result.getRow()));
  result = scanner.next();
  assertNull(result);
 }
}

代码示例来源:origin: apache/hbase

@Test
public void testLabelsWithAppend() throws Throwable {
 TableName tableName = TableName.valueOf(TEST_NAME.getMethodName());
 try (Table table = TEST_UTIL.createTable(tableName, fam)) {
  byte[] row1 = Bytes.toBytes("row1");
  byte[] val = Bytes.toBytes("a");
  Put put = new Put(row1);
  put.addColumn(fam, qual, HConstants.LATEST_TIMESTAMP, val);
  put.setCellVisibility(new CellVisibility(SECRET + " & " + CONFIDENTIAL));
  table.put(put);
  Get get = new Get(row1);
  get.setAuthorizations(new Authorizations(SECRET));
  Result result = table.get(get);
  assertTrue(result.isEmpty());
  Append append = new Append(row1);
  append.addColumn(fam, qual, Bytes.toBytes("b"));
  table.append(append);
  result = table.get(get);
  assertTrue(result.isEmpty());
  append = new Append(row1);
  append.addColumn(fam, qual, Bytes.toBytes("c"));
  append.setCellVisibility(new CellVisibility(SECRET));
  table.append(append);
  result = table.get(get);
  assertTrue(!result.isEmpty());
 }
}

代码示例来源:origin: apache/hbase

protected void populatePut(byte[] lineBytes, ImportTsv.TsvParser.ParsedLine parsed, Put put,
   int i) throws BadTsvLineException, IOException {
  Cell cell = null;
  if (hfileOutPath == null) {
   cell = new KeyValue(lineBytes, parsed.getRowKeyOffset(), parsed.getRowKeyLength(),
     parser.getFamily(i), 0, parser.getFamily(i).length, parser.getQualifier(i), 0,
     parser.getQualifier(i).length, ts, KeyValue.Type.Put, lineBytes,
     parsed.getColumnOffset(i), parsed.getColumnLength(i));
   if (cellVisibilityExpr != null) {
    // We won't be validating the expression here. The Visibility CP will do
    // the validation
    put.setCellVisibility(new CellVisibility(cellVisibilityExpr));
   }
   if (ttl > 0) {
    put.setTTL(ttl);
   }
  } else {
   // Creating the KV which needs to be directly written to HFiles. Using the Facade
   // KVCreator for creation of kvs.
   cell = this.kvCreator.create(lineBytes, parsed.getRowKeyOffset(), parsed.getRowKeyLength(),
     parser.getFamily(i), 0, parser.getFamily(i).length, parser.getQualifier(i), 0,
     parser.getQualifier(i).length, ts, lineBytes, parsed.getColumnOffset(i),
     parsed.getColumnLength(i), tags);
  }
  put.add(cell);
 }
}

代码示例来源:origin: apache/hbase

@Test
public void testLabelsWithIncrement() throws Throwable {
 TableName tableName = TableName.valueOf(TEST_NAME.getMethodName());
 try (Table table = TEST_UTIL.createTable(tableName, fam)) {
  byte[] row1 = Bytes.toBytes("row1");
  byte[] val = Bytes.toBytes(1L);
  Put put = new Put(row1);
  put.addColumn(fam, qual, HConstants.LATEST_TIMESTAMP, val);
  put.setCellVisibility(new CellVisibility(SECRET + " & " + CONFIDENTIAL));
  table.put(put);
  Get get = new Get(row1);
  get.setAuthorizations(new Authorizations(SECRET));
  Result result = table.get(get);
  assertTrue(result.isEmpty());
  table.incrementColumnValue(row1, fam, qual, 2L);
  result = table.get(get);
  assertTrue(result.isEmpty());
  Increment increment = new Increment(row1);
  increment.addColumn(fam, qual, 2L);
  increment.setCellVisibility(new CellVisibility(SECRET));
  table.increment(increment);
  result = table.get(get);
  assertTrue(!result.isEmpty());
 }
}

相关文章