大数据
文章平均质量分 83
PersistJiao
这个作者很懒,什么都没留下…
展开
-
spark3 本地读hive 1.1.0版本,解决版本兼容问题
Spark3 读 hive 1.1.0 遇到的问题Exception in thread "main" org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table test1. Invalid method name: 'get_table_req'; at org.apache.spark.sql.hive.HiveExternalCata原创 2021-10-14 17:59:43 · 2058 阅读 · 0 评论 -
Spark SQL Catalyst PartitionFilters
遇到的问题spark sql当使用分区字段过滤时,分区过滤在where中的顺序对查询效率有没有影响,如下两个sql,分区字段为hp_stat_date1.分区过滤在where条件中排最前(sqlA)select dxyid as usernamefrom bdl_app_server_diwhere hp_stat_date between "2021-08-02" and "2021-08-08"and (lv='mama-0.1')group by dxyid2.分区过滤在where条原创 2021-09-02 18:30:10 · 458 阅读 · 0 评论 -
ElasticSearch知识点记录
ElasticSearch一 ElasticSearch1.1 全文检索,倒排索引1.2 Lucene1.3 什么是ElasticSearch1.4 Elasticsearch的功能1.5 elasticsearch的适用场景1.6 elasticsearch的特点二 Elasticsearch的核心概念2.1 Lucene和ElasticSearch的前世今生2.2 elasticsearch的...原创 2020-04-07 18:43:24 · 1651 阅读 · 0 评论 -
spark checkpoint详解
转载地址:https://www.cnblogs.com/superhedantou/p/9004820.html原创 2019-12-12 11:17:28 · 209 阅读 · 0 评论 -
scala中apply和unapply方法
apply方法apply方法被称作注入方法,在类的伴生对象中做一个初始化操作apply方法的参数列表不需要跟构造器的参数列表统一apply方法是定义在伴生对象中的当scala中类或者对象有一个主要用途的时候,apply方法就是一个很好地语法糖。apply方法有点类似于java中的构造函数,接受构造参数变成一个对象。unapply方法那么unapply方法就刚好相反,他是接受一个对象,...原创 2019-03-22 23:19:33 · 429 阅读 · 0 评论 -
Scala隐式转换
隐式转换:简单的说,隐式转换就是当Scala编译器进行类型匹配时,如果找不到合适的候选,那么隐式转换提供了另外一种途径来告诉编译器如何将当前的类型转换成预期类型。概念:隐式转换和隐式参数是Scala中两个非常强大的功能,利用隐式转换和隐式参数,可以提供优雅的类库,对类库的使用者隐匿掉那些枯草乏味的细节。作用:隐式的对类的方法进行增强,丰富现有类库的功能隐式转换的时机当方法中的参数的类型与目...原创 2019-03-22 23:31:33 · 174 阅读 · 0 评论 -
Spark RDD的分区原理
1.用sc.parallelize()生成RDD默认分区数:sc.parallelize(collection)指定分区数:sc.parallelize(collection,2)2.用sc.textFile()生成RDD (分区数与文件数量有关)默认分区数:sc.textFile(“hdfs://xxx”)指定分区数:sc.textFile(“hdfs://xxx”,3)最小分区...原创 2019-03-22 23:48:11 · 2851 阅读 · 0 评论 -
Spring-kafka遇到的消息重复消费问题
问题描述:kafka的某些topic在消费完毕后一段时间,重启唯一消费者,offset会重置为最小offset重新消费,一直导致kafka消费的重复消费问题。问题产生原因:是offset信息过期导致的。我一直以为消费者保持在线,最新位移信息是不会过期的。但即使消费者在线,位移信息也会如约过期。配置的数据保留时间log.retention.hours=168小时比位移保留时间offsets.ret...原创 2019-03-22 23:59:49 · 7048 阅读 · 0 评论 -
断网环境下利用pip安装Python离线安装包
断网环境下利用pip安装Python离线安装包https://www.jianshu.com/p/ef9cd61ba045原创 2019-06-17 12:05:39 · 3074 阅读 · 0 评论 -
pip源
pip install xlrd -i http://pypi.douban.com/simple --trusted-host pypi.douban.com1)http://mirrors.aliyun.com/pypi/simple/ 阿里云2)https://pypi.mirrors.ustc.edu.cn/simple/ 中国科技大学http://pypi.douban.co...原创 2019-06-17 12:08:23 · 365 阅读 · 0 评论 -
java和scala语言中类型的检查和转换-instanceof
类型的检查和转换JavaScala判断对象是否是C类型obj instanceof Cobj.isInstanceof[C]将对象强转成C类型(C ) objobj.asInstanceof[C]获取类型为T的class对象C.classclassOf[C]object PredefineTest{ def main(args: Array...原创 2019-03-22 23:13:02 · 294 阅读 · 0 评论 -
scala中集合的常用方法
注:val map = Map((“b”,2),(“a”,1),(“d”,4)),这里调用的方法是使用map调用的1. 最大值最小值方法:max、min、maxBy、minBydef minBy[B](f: A => B)(implicit cmp: Ordering[B]): A = { if (isEmpty) throw new UnsupportedOperatio...原创 2019-03-22 21:59:19 · 2250 阅读 · 0 评论 -
scala中操作符(::/+:/:+/++/+=/++/++=)的使用,以及在mutable/immutable的区别
::/+:/:+/++/+=/++/++=等等的使用,以及在mutable/immutable的区别val array = List(1)val a = List(-1)val arrayBuffer = ArrayBuffer(1)val ab = ArrayBuffer(-1)原创 2019-03-22 21:20:12 · 6936 阅读 · 3 评论 -
CentOS6.5详细安装步骤
1.软件下载 centos6.5 https://blog.csdn.net/huchunlinnk/article/details/45038025 (CentOS-6.5-x86_64-bin-DVD1.iso:http://pan.baidu.com/s/1qWPsefi)VMware-workstation-full-12.5.72.VMware安装First step:...原创 2018-06-07 21:44:35 · 73293 阅读 · 13 评论 -
Linux上安装NetCat
简述:在网络工具中有“瑞士军刀”美誉的NetCat(以下简称nc),在我们用了N年了至今仍是爱不释手。因为它短小精悍(这个用在它身上很适合,现在有人已经将其修改成大约10K左右,而且功能不减少)。 一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。安装过程:1.下载https://downlo...原创 2018-08-01 20:52:32 · 30139 阅读 · 0 评论 -
Spark core源码分析之spark集群的启动(一)
1 前言本文分析的是spark 1.3.1版本的源代码,因为1.3.1是比较经典的版本,其中的rpc是使用akka实现的,而1.6.x的版本的rpc的实现既有akka又有netty,2.0之后的版本就去掉akka只有netty了。现在使用较多的还是1.6.x,所以这里分析1.3.1版本。导入项目 解压项目包(spark-1.3.1.zip),Idea - import project,选...原创 2018-08-03 08:40:12 · 375 阅读 · 0 评论 -
Spark core源码分析之spark集群的启动(二)
2.2 Worker的启动org.apache.spark.deploy.worker1 从Worker的伴生对象的main方法进入在main方法中首先是得到一个SparkConf实例conf,然后将conf和启动Worker传入的参数封装得到WorkerArguments的实例args,下一步就是调用startSystemAndActor()方法得到actorSystem实例,在方法...原创 2018-09-12 19:05:16 · 190 阅读 · 0 评论 -
Kafka如何实现每秒上百万的超高并发写入?
Kafka是高吞吐、低延迟的高并发、高性能的消息中间件,在大数据领域有极为广泛的运用。配置良好的Kafka集群甚至可以做到每秒几十万、上百万的超高并发写入。那么 Kafka 到底是如何做到这么高的吞吐量和性能的呢?页缓存技术和磁盘顺序读写首先 Kafka 每次接收到数据都会往磁盘上去写,如下图所示:那么在这里我们不禁有一个疑问了,如果把数据基于磁盘来存储,频繁的往磁盘文件里写数据,这个性...转载 2019-03-25 14:01:37 · 1729 阅读 · 0 评论 -
突发宕机,Kafka写入的数据如何保证不丢失?
我们暂且不考虑写磁盘的具体过程,先大致看看下面的图,这代表了 Kafka 的核心架构原理。Kafka 分布式存储架构那么现在问题来了,如果每天产生几十 TB 的数据,难道都写一台机器的磁盘上吗?这明显是不靠谱的啊!所以说,这里就得考虑数据的分布式存储了,我们结合 Kafka 的具体情况来说说。在 Kafka 里面,有一个核心的概念叫做“Topic”,这个 Topic 你就姑且认为是一个数...转载 2019-03-25 16:02:11 · 3168 阅读 · 0 评论 -
Scala中Method方法和Function函数的区别
在Scala中方法不是值,而函数是。所以一个方法不能赋值给一个val变量,而函数可以。scala> def increment(n: Int) = n + 1increment: (n: Int)Intscala> val fun = increment<console>:12: error: missing argument list for method in...转载 2019-03-22 19:24:31 · 433 阅读 · 0 评论 -
Scala中=>(箭头函数)
Scala中=>和>=的区别<=小于等于=>函数类型(箭头函数)当定义一个函数的时候,需要使用=>,例如scala> val triple = (x: Int) => 3 * x //定义了一个函数triple: Int => Int = <function1>scala> def square(x: Int)...转载 2019-03-22 19:32:00 · 1113 阅读 · 0 评论