
输入DStream之Kafka数据源实战(基于Receiver的方式)
基于Receiver的方式这种方式使用Receiver来获取数据。Receiver是使用Kafka的高层次Consumer API来实现的。receiver从Kafka中获取的数据都是存储在Spark Executor的内存中的,然后Spark Streaming启动的job会去处理那些数据。然而,在默认的配置下,这种方式可能会因为底层的失败而丢失数据。如果要启用高可靠机制,让数据零丢失,就必须启用Sp...
基于Receiver的方式这种方式使用Receiver来获取数据。Receiver是使用Kafka的高层次Consumer API来实现的。receiver从Kafka中获取的数据都是存储在Spark Executor的内存中的,然后Spark Streaming启动的job会去处理那些数据。然而,在默认的配置下,这种方式可能会因为底层的失败而丢失数据。如果要启用高可靠机制,让数据零丢失,就必须启用Sp...
Socket:之前的wordcount例子,已经演示过了,StreamingContext.socketTextStream()HDFS文件基于HDFS文件的实时计算,其实就是,监控一个HDFS目录,只要其中有新文件出现,就实时处理。相当于处理实时的文件流。streamingContext.fileStream<KeyClass, ValueClass, InputFormatClass>(dataDirectory) streamingContext.fil...
输入DStream代表了来自数据源的输入数据流。在之前的wordcount例子中,lines就是一个输入DStream(JavaReceiverInputDStream),代表了从netcat(nc)服务接收到的数据流。除了文件数据流之外,所有的输入DStream都会绑定一个Receiver对象,该对象是一个关键的组件,用来从数据源接收数据,并将其存储在Spark的内存中,以供后续处理。Spark St...
有两种创建StreamingContext的方式:val conf = new SparkConf().setAppName(appName).setMaster(master);val ssc = new StreamingContext(conf, Seconds(1));StreamingContext,还可以使用已有的SparkContext来创建val sc = new SparkContext(conf)val ssc =&nb...
安装nc工具:yum install nc如果遇到错误nc: Protocol not available,是因为版本太高删除原来的ncyum erase nc下载较低版本的nc的.rpm文件wget http://vault.centos.org/6.3/os/i386/Packages/nc-1.84-22.el6.i686.rpm安装rpm -iUv nc-1.84-22.el6.i686.rpm测试nc -lk 9999开发实时wordcount程序Java版本...
大数据实时计算介绍Spark Streaming,其实就是一种Spark提供的,对于大数据,进行实时计算的一种框架。它的底层,其实,也是基于我们之前讲解的Spark Core的。基本的计算模型,还是基于内存的大数据实时计算模型。而且,它的底层的组件或者叫做概念,其实还是最核心的RDD。只不多,针对实时计算的特点,在RDD之上,进行了一层封装,叫做DStre...
新闻网站关键指标离线统计背景新闻网站版块新闻页面新用户注册用户跳出需求分析每天每个页面的PV:PV是Page View,是指一个页面被所有用户访问次数的总和,页面被访问一次就被记录1次PV每天每个页面的UV:UV是User View,是指一个页面被多少个用户访问了,一个用户访问一次是1次UV,一个用户访问多次还是1次UV新用户注册比率:当天注册用户数 ...
Spark SQL CLI是一个很方便的工具,可以用来在本地模式下运行Hive的元数据服务,并且通过命令行执行针对Hive的SQL查询。但是要注意的是,Spark SQL CLI是不能与Thrift JDBC server进行通信的。如果要启动Spark SQL CLI,只要执行Spark的bin目录下的spark-sql命令即可sh ./bin/spark-sql --jars /usr/local/hive/lib/mysql-connector-java-5.1...
Spark SQL的Thrift JDBC/ODBC server是基于Hive 0.13的HiveServer2实现的。这个服务启动之后,最主要的功能就是可以让我们通过Java JDBC来以编程的方式调用Spark SQL。此外,在启动该服务之后,可以通过Spark或Hive 0.13自带的beeline工具来进行测试。要启动JDBC/ODBC server,主要执行Spark的sbin目录下的start-thriftserver.sh命令即可start...
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。当前Flume有两个版本Flume 0.9X版本的统称Flume-og,Flume1.X版本的统称Flume-ng。由于Flume-ng经过重大重构,与...