操作ml_f

bin/flink run -class test com.fl.h.jar
bin/flink run -ynm test -m yarn-cluster -c test com.fl.ho.jar
ps -ef | grep java
jps -m
yarn application -list | grep dmp
yarn application -kill 
flink list
flink stop 
###############################################
bin/yarn-session.sh -n 4 -s 4 -jm 2048 -tm 4096  -nm  check_id   & 
./flink run --class HardDiskSerial_Check com.flink.honor.wwc-1.0-SNAPSHOT.jar
./flink run --class HardDiskSerial_Check com.flink.honor.wwc-1.0-SNAPSHOT.jar

查看运行进程:ps -ef|grep java
查看jps:jps -m
查看yarn任务:yarn application -list | grep dmp
通过命令来停止 yarn application -kill   application_id
查看flink任务信息:bin/flink list
取消flink任务:flink cansel  job的id

import org.apache.flink.streaming.api.scala.DataStream
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
import org.apache.flink.api.common.serialization.SimpleStringSchema
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer
import org.apache.flink.streaming.api.functions.ProcessFunction
import org.apache.flink.streaming.api.scala._
import org.apache.flink.util.Collector
import redis.clients.jedis.{HostAndPort, JedisCluster, JedisPoolConfig}
import java.util.Properties
import org.apache.kafka.clients.producer.{KafkaProducer, ProducerConfig, ProducerRecord}
import org.apache.kafka.common.serialization.StringSerializer
import scala.util.matching.Regex
object Check_test {

//创建Kafka的Consumer连接:
  private val prop = new Properties()
  prop.setProperty("bootstrap.servers",":9092,:9092,:9092,:9092,1000.8.2.2:9092")
  prop.put(ConsumerConfig.GROUP_ID_CONFIG,"GGGGG")
  prop.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, classOf[StringSerializer].getName) //key的序列化;
  prop.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, classOf[StringSerializer].getName)//value的序列化;
  def getConsumer(topic:String ):FlinkKafkaConsumer[String]= {
    val myKafkaConsumer:FlinkKafkaConsumer[String] = new FlinkKafkaConsumer[String](topic, new SimpleStringSchema(), prop)
    //从最开始的位置消费:myKafkaConsumer.setStartFromEarliest()
    myKafkaConsumer.setStartFromEarliest()
    myKafkaConsumer
  }
//创建redis连接池:
  def redisConnect(): JedisCluster = {
    val jedisPoolConfig = new JedisPoolConfig;
    // 最大空闲连接数, 默认8个
    jedisPoolConfig.setMaxIdle(100);
    // 最大连接数, 默认8个
    jedisPoolConfig.setMaxTotal(500);
    //最小空闲连接数, 默认0
    jedisPoolConfig.setMinIdle(0);
    // 获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间,  默认-1
    jedisPoolConfig.setMaxWaitMillis(2000); // 设置2秒
    //对拿到的connection进行validateObject校验
    jedisPoolConfig.setTestOnBorrow(true)
    val jedisClusterNodes = new java.util.HashSet[HostAndPort]()
    jedisClusterNodes.add(new HostAndPort("", 6379))
    jedisClusterNodes.add(new HostAndPort("", 6379))
    jedisClusterNodes.add(new HostAndPort("", 6379))
    jedisClusterNodes.add(new HostAndPort("", 6379))
    jedisClusterNodes.add(new HostAndPort("", 6379))
    jedisClusterNodes.add(new HostAndPort("", 6379))
    lazy val jedisCluster = new JedisCluster(jedisClusterNodes,100,100,50,"2",jedisPoolConfig)
    jedisCluster
  }

//连接redis
  val jedis = redisConnect()
  val hset_key_name = "hset_machineid_harddiskserial_check"

//连接生产者topic
  val kafkaConsumer  =getConsumer("acc_event_runlog")
  val environment: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment


//连接警报topic
  val topic = "acc_alarm"
  val properties = new Properties()
  properties.put("bootstrap.servers","")
  properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, classOf[StringSerializer].getName) //key的序列化;
  properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, classOf[StringSerializer].getName)//value的序列化;
  val producer = new KafkaProducer[String, String](properties)

//正则匹配规则
  val pattern_sex = new Regex(",\"machineid\":\".*?\",")
  val pattern_name = new Regex(",\"harddiskserial\":\".*?\",")

  var machineid = ""
  var harddiskserial = ""
  var h_get = ""
  var change_Kafka_data=""

  def main(args: Array[String]): Unit = {
    println("begin check")
    val dstream: DataStream[String] = environment.addSource(kafkaConsumer)
    dstream
      .process(new Check())
    environment.execute()}

  class Check() extends ProcessFunction[String, String] {
    override def processElement(data_str: String, p: ProcessFunction[String, String]#Context, out: Collector[String]): Unit = {
      machineid = (pattern_sex findAllIn data_str).mkString("").replaceAll(",\"machineid\":\"","").replaceAll("\",","")
      harddiskserial = (pattern_name findAllIn data_str).mkString("").replaceAll(",\"harddiskserial\":\"","").replaceAll("\",","")

//      Thread.sleep(2000)
//判断harddiskserial是否变化,如果变化redis记录变化
      if (harddiskserial != ""){
        h_get = jedis.hget(hset_key_name,machineid)
        if (h_get==null){
          println("first insert redis_field")
          jedis.hset(hset_key_name,machineid,harddiskserial)
        }else if(h_get==harddiskserial) {
          println("id not Change")
        }else{
          println("Disk Change")
//变化后更新redis键值,新增加old_id字段写入相应topic
        change_Kafka_data = data_str.replace("}",",")+"\"alarm_name\":\"Disk Change\","+"\"old_harddiskserial\""+":"+"\""+h_get+"\"}"
        jedis.hset(hset_key_name,machineid,harddiskserial)
        producer.send(new ProducerRecord(topic,change_Kafka_data))}

      }
    }
  }
}

######################################
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>honor_f</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <flink.version>1.7.2</flink.version>
        <scala.binary.version>2.11</scala.binary.version>
        <kafka.version>2.2.0</kafka.version>
        <jedis.version>2.9.0</jedis.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-streaming-scala_${scala.binary.version}</artifactId>
            <version>${flink.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka_${scala.binary.version}</artifactId>
            <version>${kafka.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-connector-kafka_${scala.binary.version}</artifactId>
            <version>${flink.version}</version>
        </dependency>

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>${jedis.version}</version>
        </dependency>

    </dependencies>

</project>

###############################
创建redis连接方法:
//private val redisHost: String = ""
//private val redisPort: Int = 6379
//private val redisTimeOut: Int = 30000 // ms
//private val maxTotal = 300
//private val maxIdle = 100
//private val minIdle = 1
//private val passWord = "honerredis"
//@transient private var pool: JedisPool = _
//makePool(redisHost, redisPort, redisTimeOut, maxTotal, maxIdle, minIdle)
//def makePool(redisHost: String, redisPort: Int, redisTimeout: Int,
//             maxTotal: Int, maxIdle: Int, minIdle: Int): Unit = {
//  makePool(redisHost, redisPort, redisTimeout, maxTotal, maxIdle, minIdle, true, false, 10000)
//}
//def makePool(redisHost: String, redisPort: Int, redisTimeout: Int,
//             maxTotal: Int, maxIdle: Int, minIdle: Int, testOnBorrow: Boolean,
//             testOnReturn: Boolean, maxWaitMillis: Long): Unit = {
//  if (pool == null) {
//    val poolConfig = new GenericObjectPoolConfig()
//    poolConfig.setMaxTotal(maxTotal)
//    poolConfig.setMaxIdle(maxIdle)
//    poolConfig.setMinIdle(minIdle)
//    poolConfig.setTestOnBorrow(testOnBorrow)
//    poolConfig.setTestOnReturn(testOnReturn)
//    poolConfig.setMaxWaitMillis(maxWaitMillis)
//    pool = new JedisPool(poolConfig, redisHost, redisPort, redisTimeout)
//
//    val hook = new Thread {
//      override def run: Unit = pool.destroy()
//    }
//    sys.addShutdownHook(hook.run)
//  }
//}
//def getPool: JedisPool = {
//  assert(pool != null)
//  pool
//}
//调用:  val jedis = getPool.getResource

kafka输入:[Kafka/kafka/bin]$./kafka-console-producer.sh --broker-list 1.6.5.3:9092,1.8.4.3:9092,1.6.5.93:9092,1.6.5.5:9092,10.68.52.92:9092 --topic testout
topic所有信息:./kafka-console-consumer.sh   --topic testout  --bootstrap-server   --from-beginning
bin/kafka-console-consumer.sh   --topic acc_event_runlog  --bootstrap-server   --from-beginning

def getProduct(): KafkaProducer[String, String] = {
  val properties = new Properties()
  properties.put("bootstrap.servers",":9092,10.68:9092")
  properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, classOf[StringSerializer].getName) //key的序列化;
  properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, classOf[StringSerializer].getName)//value的序列化;
  lazy val myKafkaproducer = new KafkaProducer[String, String](properties)
  myKafkaproducer
}
//连接生产者topic
val kafkaConsumer  =getConsumer("nlog")
#######################################################
mysql:
val username ="test"
val password =""
val url ="jdbc:mysql://10.68.:3306/model
val connection = DriverManager.getConnection(url,username,password)
val statement=connection.createStatement()


val resultSet=staatement.executeQuery("select 'param' from 'test' where 'naame'='通用'" and ('param'='t' or 'param' = 't2'))

prop.put(ConsumerConfig.GROUP_ID_CONFIG,"GGGGG")


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解释这段代码for (i in cancer_types){ admat<-read.csv(str_c(dir,"\tcga_data\",i,"\admat.csv"),check.names=F) positive_rna<-read.csv(str_c(dir,"\tcga_data\",i,"\positive_normalized_rna.csv"),row.names = 1, check.names = F) negative_rna<-read.csv(str_c(dir,"\tcga_data\",i,"\negative_normalized_rna.csv"),row.names = 1, check.names = F) positive_mi<-read.csv(str_c(dir,"\tcga_data\",i,"\positive_normalized_mi.csv"),row.names = 1, check.names = F) negative_mi<-read.csv(str_c(dir,"\tcga_data\",i,"\negative_normalized_mi.csv"),row.names = 1, check.names = F) normal_rna<-read.csv(str_c(dir,"\tcga_data\",i,"\normal_normalized_rna.csv"),row.names = 1, check.names = F) normal_mi<-read.csv(str_c(dir,"\tcga_data\",i,"\normal_normalized_mi.csv"),row.names = 1, check.names = F) positive_delta<-cal_delta_pcc(admat,normal_rna,normal_mi,positive_rna,positive_mi) negative_delta<-cal_delta_pcc(admat,normal_rna,normal_mi,negative_rna,negative_mi) wilcox<-delta_wilcox_test(positive_delta,negative_delta,wilcox_pval) write.csv(wilcox,str_c(dir,"\tcga_data\",i,"\wilcox.csv"),quote=F,row.names=F) row.names(wilcox)<-str_c(wilcox[,1],"",wilcox[,2]) positive_delta<-na.omit(positive_delta) row.names(positive_delta)<-str_c(positive_delta[,1],"",positive_delta[,2]) negative_delta<-na.omit(negative_delta) row.names(negative_delta)<-str_c(negative_delta[,1],"_",negative_delta[,2]) positive_delta<-positive_delta[row.names(positive_delta)%in%row.names(wilcox),] negative_delta<-negative_delta[row.names(negative_delta)%in%row.names(wilcox),] negative_delta<-negative_delta ml_input<-merge(positive_delta,negative_delta,by="row.names") ml_input<-ml_input write.csv(ml_input,str_c(dir,"\tcga_data\",i,"\ml_input.csv"),quote=F,row.names=F) }
07-12

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值