ITPub博客

首页 > 大数据 > Hadoop > Kafka编程一

Kafka编程一

原创 Hadoop 作者:tom_fans 时间:2017-07-13 18:26:26 0 删除 编辑

点击(此处)折叠或打开



  1. import java.io.IOException;
  2. import java.text.MessageFormat;
  3. import java.util.*;

  4. import kafka.javaapi.producer.Producer;
  5. import kafka.producer.KeyedMessage;
  6. import scala.util.control.Exception.Catch;

  7. import org.apache.hadoop.conf.Configuration;
  8. import org.apache.hadoop.hbase.HBaseConfiguration;
  9. import org.apache.hadoop.hbase.client.HTable;
  10. import org.apache.hadoop.hbase.client.Result;
  11. import org.apache.hadoop.hbase.client.ResultScanner;
  12. import org.apache.hadoop.hbase.client.Scan;
  13. import org.apache.hadoop.hbase.util.Bytes;
  14. import org.apache.kafka.clients.producer.*;

  15. public class kafkaProducer {

  16.     public static void main(String[] args) throws IOException {

  17.         Properties props = new Properties();
  18.         props.put("zk.connect",
  19.                 "datanode01.isesol.com,datanode02.isesol.com,datanode03.isesol.com,datanode04.isesol.com:2181");
  20.         props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
  21.         props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
  22.         props.put("bootstrap.servers",
  23.                 "namenode01.isesol.com:9092,namenode02.isesol.com:9092,datanode03.isesol.com:9092");
  24.         KafkaProducer<String, String> producer = new KafkaProducer<String, String>(props);
  25.         Result result = null;
  26.         StringBuilder builder = new StringBuilder();
  27.         while (getResult().iterator().hasNext()){
  28.             result = getResult().next();
  29.             for (int i = 0; i <= result.listCells().size() - 1; i++) {
  30.                 builder.append(new String(result.getValue("cf".getBytes(), result.listCells().get(i).getQualifier())) + "#");
  31.                 System.out.println(new String(result.getValue("cf".getBytes(), result.listCells().get(i).getQualifier())));
  32.             }
  33.             
  34.             System.out.println("the data is " + builder.toString());
  35.             ProducerRecord<String, String> record = new ProducerRecord<String, String>("jlwang",builder.toString());

  36.             try {
  37.                 producer.send(record, new Callback() {

  38.                     @Override
  39.                     public void onCompletion(RecordMetadata metadata, Exception e) {
  40.                         if (e != null) {
  41.                             e.printStackTrace();
  42.                         }
  43.                         System.out.println("offset: {} " + metadata.offset() + " partition: {}" + " " + metadata.partition()
  44.                                 + " " + metadata.topic());
  45.                     }
  46.                 });
  47.             } catch (Exception ex) {
  48.                 ex.printStackTrace();
  49.             } finally {
  50.                 System.out.println("finish to put data into kafka");
  51.                 //producer.close();
  52.             }
  53.             
  54.             

  55.         }
  56.         
  57.         producer.close();
  58.     }

  59.     public static ResultScanner getResult() throws IOException {

  60.         Configuration hbaseconf = HBaseConfiguration.create();
  61.         hbaseconf.set("hbase.zookeeper.quorum",
  62.                 "datanode01.isesol.com,datanode02.isesol.com,datanode03.isesol.com,datanode04.isesol.com,cmserver.isesol.com");
  63.         hbaseconf.set("hbase.zookeeper.property.clientPort", "2181");
  64.         hbaseconf.set("user", "hdfs");
  65.         HTable htable = new HTable(hbaseconf, "t_axes_feeding_secutrity_zero");
  66.         Scan scan = new Scan();
  67.         scan.setCaching(300);
  68.         ResultScanner scaner = htable.getScanner(scan);        
  69.         return scaner;

  70.     }
  71. }

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17036462/viewspace-2142045/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-05-19

  • 博文量
    15
  • 访问量
    14121