当前位置: 首页>>代码示例>>Java>>正文


Java BucketPath.escapeString方法代码示例

本文整理汇总了Java中org.apache.flume.formatter.output.BucketPath.escapeString方法的典型用法代码示例。如果您正苦于以下问题:Java BucketPath.escapeString方法的具体用法?Java BucketPath.escapeString怎么用?Java BucketPath.escapeString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.flume.formatter.output.BucketPath的用法示例。


在下文中一共展示了BucketPath.escapeString方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: buildPartitionSpec

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
private Map<String, String> buildPartitionSpec(List<String> partitionValues, Map<String, String> headers, TimeZone timeZone,
    boolean needRounding, int roundUnit, Integer roundValue, boolean useLocalTime)
    throws OdpsException {
    Map<String, String> partitionMap = Maps.newHashMap();
    if (partitionValues == null || partitionValues.size() == 0) {
        return partitionMap;
    }
    if (configure.getMaxcomputePartitionCols().size() != configure.getMaxcomputePartitionVals().size()) {
        throw new RuntimeException("MaxCompute partition fields number not equals input partition values number");
    }
    for (int i = 0; i < partitionValues.size(); i++) {
        String realPartVal = BucketPath
            .escapeString(partitionValues.get(i), headers, timeZone, needRounding,
                roundUnit, roundValue, useLocalTime);
        partitionMap.put(configure.getMaxcomputePartitionCols().get(i), realPartVal);
    }
    return partitionMap;
}
 
开发者ID:aliyun,项目名称:aliyun-maxcompute-data-collectors,代码行数:19,代码来源:DatahubSink.java

示例2: buildPartitionSpec

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
private String buildPartitionSpec(List<String> partitionValues, Map<String, String> headers, TimeZone timeZone,
                                  boolean needRounding, int roundUnit, Integer roundValue, boolean useLocalTime)
        throws OdpsException {
    if (partitionValues == null || partitionValues.size() == 0) {
        return StringUtils.EMPTY;
    }
    if (partitionValues.size() != partitionFields.size()) {
        throw new RuntimeException("Odps partition fields number not equals input partition values number");
    }
    StringBuilder sb = new StringBuilder();
    String sep = "";
    for (int i = 0; i < partitionValues.size(); i++) {
        String realPartVal = BucketPath.escapeString(partitionValues.get(i), headers, timeZone, needRounding,
                roundUnit, roundValue, useLocalTime);
        sb.append(sep).append(partitionFields.get(i)).append("='").append(realPartVal).append("'");
        sep = ",";
    }
    String partitionSpec = sb.toString();
    if (autoCreatePartition && !partitionMap.containsKey(partitionSpec)) {
        odpsTable.createPartition(new PartitionSpec(partitionSpec), true);
        partitionMap.put(partitionSpec, true);
    }
    return partitionSpec;
}
 
开发者ID:aliyun,项目名称:aliyun-maxcompute-data-collectors,代码行数:25,代码来源:OdpsSink.java

示例3: getIndexName

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
/**
 * Gets the name of the index to use for an index request
 * @param event
 *          Event for which the name of index has to be prepared
 * @return index name of the form 'indexPrefix-formattedTimestamp'
 */
@Override
public String getIndexName(Event event) {
  TimestampedEvent timestampedEvent = new TimestampedEvent(event);
  long timestamp = timestampedEvent.getTimestamp();
  String realIndexPrefix = BucketPath.escapeString(indexPrefix, event.getHeaders());
  return new StringBuilder(realIndexPrefix).append('-')
    .append(fastDateFormat.format(timestamp)).toString();
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:15,代码来源:TimeBasedIndexNameBuilder.java

示例4: createIndexRequest

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
/**
 * Creates and prepares an {@link IndexRequestBuilder} from the supplied
 * {@link Client} via delegation to the subclass-hook template methods
 * {@link #getIndexName(String, long)} and
 * {@link #prepareIndexRequest(IndexRequestBuilder, String, String, Event)}
 */
@Override
public IndexRequestBuilder createIndexRequest(Client client,
      String indexPrefix, String indexType, Event event) throws IOException {
  IndexRequestBuilder request = prepareIndex(client);
  String realIndexPrefix = BucketPath.escapeString(indexPrefix, event.getHeaders());
  String realIndexType = BucketPath.escapeString(indexType, event.getHeaders());

  TimestampedEvent timestampedEvent = new TimestampedEvent(event);
  long timestamp = timestampedEvent.getTimestamp();

  String indexName = getIndexName(realIndexPrefix, timestamp);
  prepareIndexRequest(request, indexName, realIndexType, timestampedEvent);
  return request;
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:21,代码来源:AbstractElasticSearchIndexRequestBuilderFactory.java

示例5: createIndexRequest

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
/**
 * Creates and prepares an {@link IndexRequestBuilder} from the supplied
 * {@link Client} via delegation to the subclass-hook template methods
 * {@link #getIndexName(String, long)} and
 * {@link #prepareIndexRequest(IndexRequestBuilder, String, String, Event)}
 */
@Override
public IndexRequestBuilder createIndexRequest(Client client,
        String indexPrefix, String indexType, Event event) throws IOException {
    IndexRequestBuilder request = prepareIndex(client);
    String realIndexPrefix = BucketPath.escapeString(indexPrefix, event.getHeaders());
    String realIndexType = BucketPath.escapeString(indexType, event.getHeaders());

    TimestampedEvent timestampedEvent = new TimestampedEvent(event);
    long timestamp = timestampedEvent.getTimestamp();

    String indexName = getIndexName(realIndexPrefix, timestamp);
    prepareIndexRequest(request, indexName, realIndexType, timestampedEvent);
    return request;
}
 
开发者ID:Redliver,项目名称:flume-ng-elasticsearch5-sink,代码行数:21,代码来源:AbstractElasticSearchIndexRequestBuilderFactory.java

示例6: getIndexPrefix

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
@Override
public String getIndexPrefix(Event event) {
  return BucketPath.escapeString(indexPrefix, event.getHeaders());
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:5,代码来源:TimeBasedIndexNameBuilder.java

示例7: getIndexName

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
@Override
public String getIndexName(Event event) {
  return BucketPath.escapeString(indexName, event.getHeaders());
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:5,代码来源:SimpleIndexNameBuilder.java

示例8: getIndexPrefix

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
@Override
public String getIndexPrefix(Event event) {
  return BucketPath.escapeString(indexName, event.getHeaders());
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:5,代码来源:SimpleIndexNameBuilder.java

示例9: process

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
@Override
public Status process() throws EventDeliveryException {
  logger.debug("processing...");
  Status status = Status.READY;
  Channel channel = getChannel();
  Transaction txn = channel.getTransaction();
  try {
    txn.begin();
    int count;
    for (count = 0; count < batchSize; ++count) {
      Event event = channel.take();

      if (event == null) {
        break;
      }
      String realIndexType = BucketPath.escapeString(indexType, event.getHeaders());
      client.addEvent(event, indexNameBuilder, realIndexType, ttlMs);
    }

    if (count <= 0) {
      sinkCounter.incrementBatchEmptyCount();
      counterGroup.incrementAndGet("channel.underflow");
      status = Status.BACKOFF;
    } else {
      if (count < batchSize) {
        sinkCounter.incrementBatchUnderflowCount();
        status = Status.BACKOFF;
      } else {
        sinkCounter.incrementBatchCompleteCount();
      }

      sinkCounter.addToEventDrainAttemptCount(count);
      client.execute();
    }
    txn.commit();
    sinkCounter.addToEventDrainSuccessCount(count);
    counterGroup.incrementAndGet("transaction.success");
  } catch (Throwable ex) {
    try {
      txn.rollback();
      counterGroup.incrementAndGet("transaction.rollback");
    } catch (Exception ex2) {
      logger.error(
          "Exception in rollback. Rollback might not have been successful.",
          ex2);
    }

    if (ex instanceof Error || ex instanceof RuntimeException) {
      logger.error("Failed to commit transaction. Transaction rolled back.",
          ex);
      Throwables.propagate(ex);
    } else {
      logger.error("Failed to commit transaction. Transaction rolled back.",
          ex);
      throw new EventDeliveryException(
          "Failed to commit transaction. Transaction rolled back.", ex);
    }
  } finally {
    txn.close();
  }
  return status;
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:63,代码来源:ElasticSearchSink.java

示例10: process

import org.apache.flume.formatter.output.BucketPath; //导入方法依赖的package包/类
@Override
public Status process() throws EventDeliveryException {
  logger.debug("processing...");
  Status status = Status.READY;
  Channel channel = getChannel();
  Transaction txn = channel.getTransaction();
  try {
    txn.begin();
    int count;
    for (count = 0; count < batchSize; ++count) {
      Event event = channel.take();

      if (event == null) {
        break;
      }
      String realIndexType = BucketPath.escapeString(indexType, event.getHeaders());
      client.addEvent(event, indexNameBuilder, realIndexType, ttlMs);
    }

    if (count <= 0) {
      sinkCounter.incrementBatchEmptyCount();
      counterGroup.incrementAndGet("channel.underflow");
      status = Status.BACKOFF;
    } else {
      if (count < batchSize) {
        sinkCounter.incrementBatchUnderflowCount();
        status = Status.BACKOFF;
      } else {
        sinkCounter.incrementBatchCompleteCount();
      }

      sinkCounter.addToEventDrainAttemptCount(count);
      client.execute();
    }
    txn.commit();
    sinkCounter.addToEventDrainSuccessCount(count);
    counterGroup.incrementAndGet("transaction.success");
  } catch (Throwable ex) {
    try {
      txn.rollback();
      counterGroup.incrementAndGet("transaction.rollback");
    } catch (Exception ex2) {
      logger.error(
          "Exception in rollback. Rollback might not have been successful.",
          ex2);
    }

    if (ex instanceof Error || ex instanceof RuntimeException) {
      logger.error(FAILED_TO_COMMIT_TRANSACTION_TRANSACTION_ROLLED_BACK,
          ex);
      Throwables.propagate(ex);
    } else {
      logger.error(FAILED_TO_COMMIT_TRANSACTION_TRANSACTION_ROLLED_BACK,
          ex);
      throw new EventDeliveryException(
              FAILED_TO_COMMIT_TRANSACTION_TRANSACTION_ROLLED_BACK, ex);
    }
  } finally {
    txn.close();
  }
  return status;
}
 
开发者ID:lucidfrontier45,项目名称:ElasticsearchSink2,代码行数:63,代码来源:ElasticSearchSink.java


注:本文中的org.apache.flume.formatter.output.BucketPath.escapeString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。