1. Multiple SparkSession for one SparkContext

    Multiple SparkContext For One JVMTo better understand the problem discussed in this post it’s important to define what we’ll discuss about. The first discussion point is SparkContext. Historically it’s an entry point for all Apache Spark pipelines...…

  2. Kafka Security

    Refernece Kafka Security kafka 安全性(译) Kafka 配置 SSL 加密传输Kafka 配置 SSL 加密和认证 生成证书。 创建证书签名请求。 将证书签名请求发送到证书颁发机构 (CA)。 登录到 CA 并为请求签名。 通过scp将签名的证书发回给 Broker 节点。 通过scp将 CA 的公共证书发送给 Broker节点。 获取所有证书后,将证书放入证书存储(keystore)。生成证书和密钥 开启 SSL 加密,首先需要为服务...…

  3. Kafka Streams

    Official Refernces Kafka Streams…

  4. Kafka MirrorMaker

    Official Refernces Kafka MirrorMakerKafka 跨集群同步方案 Kafka MirrorMaker 性能报告 Kafka MirrorMaker 跨集群同步工具详解 kafka MirrorMaker 处理跨机房业务的应用 Kafka 跨集群同步方案 Kafka MirrorMaker使用与性能调优全解析…

  5. Kafka Connect

    Official Refernces Kafka Connect通过 kafka connect 导入/导出数据当需要从其他数据源导入kafka或者将kafka中的数据导入其他数据源,除了通过代码实现,还可以使用kafka connect来导入导出数据,它是一个可扩展的工具,通过运行connector,实现与外部系统交互的自定义逻辑。# 造数据$ echo -e "foo\nbar" > test.txt# 在standalone模式下,启动两个connectors,需要配置三个配...…

  6. Helm

    IntroductionHelm 是 Kubernetes 的包管理工具Prepare提前安装好 kubectl 并且配置好 .kubeInstall Download Helm Initialize HelmCommandsHelps$ helmThe Kubernetes package managerCommon actions for Helm:- helm search: search for charts- helm pull: download a cha...…

  7. Spark Broadcast

    ReferenceSpark2.4 共享变量 - Broadcast 原理分析…

  8. Airflow

    Reference 如何部署一个健壮的 apache-airflow 调度系统Components of AirflowAirflow 有一些重要的组件Metastore DatabaseContains information about the status of Tasks, DAGs, Variables, Connections, etc.WebServer守护进程,使用 gunicorn 服务器(相当于 java 中的 tomcat )处理并发请求,可通过修改{AIRFLOW...…

  9. Develop Vue with VSCode

    Install NodeJS Node.jsNodeJs 会自动安装 js 包管理工具npm,安装的时候注意选择把命令添加到 path 就好了# Usages$ npm -lInstall js package manage tool yarn yarn yarn cli docsyarn 解决了 npm 存在的一些缺陷,编译起来会更快# Usages$ yarn help$ yarn help COMMAND# Configure system path$ export PATH=...…

  10. Metrics and Monitor

  11. Swagger

    Swagger swagger.ioSwagger 是一组开源组件的集合,主要包含 swagger-core: 用于生成 Swagger API 规范的示例和服务器集成,可轻松访问 REST API swagger-ui: 一个无依赖的 HTML、JS 和 CSS 集合,可以为 Swagger 兼容 API 动态生成优雅文档 swagger-editor: Swagger 官方提供的编辑器,用于编写 API 设计文档 swagger-codegen: 通过 Codegen 可以将...…

  12. Ubuntu Remote Desktop

    Windows 远程桌面连接 Ubuntu ECSXRDP# 1. === Connect to remote Ubuntu ECS ===$ sudo apt-get update$ sudo apt-get upgrade -f$ sudo apt-get clean# Remove# $ sudo apt-get remove --purge -y vnc4server tightvncserver xrdp xubuntu-desktop xfce4# VNC (Virtual N...…

  13. Spring WebFlux

    Difference Spring Web (Servlet API) Spring WebFlux WebSocket SupportReference Reactor Core Features: Flux, Mono… Spring WebFlux And The Servlet API Spring WebFlux Web on Servlet Stack Web on Reactive Stack…

  14. Spring Actuator

    Spring Boot Reference Documentation Spring Boot Actuator - Monitoring, Metrics, Auditing, and more. Spring Boot Admin Reference Guide Spring Boot Admin is a web application, used for managing and monitoring Spring Boot appli...…

  15. Spring Cloud Kubernetes

    Reference 为什么 Kubernetes 天然适合微服务?,这篇文章讲的非常好强烈推荐 Spring Cloud Kubernetes spring-cloud-kubernetes官方demo运行实战Starters<!-- It contains 3 dependencies: 1. 服务发现:spring-cloud-starter-kubernetes Discovery Client implementation that resolves ...…

  16. SpringBoot 调用外部 RestFul 接口

    OverviewSpringBoot 调用外部 RestFul 接口,大致有如下几种方式 HttpClient OkHttp RestTemplate Feign最基本的 HttpClient,或者 OkHttp,都需要很长一段代码(或者我直接复制一个类过来),代码复杂、还要担心资源回收的问题。RestTemplate 是 Spring 用于同步 Client 端的核心类,简化了与 HTTP 服务的通信,并满足 RestFul 原则,程序代码可以给它提供 URL,并提取结果。默认情...…

  17. Message Queue

    常见消息队列的区别与选型 特性 ActiveMQ RabbitMQ RocketMQ Kafka 单机吞吐量(单机1秒处理的请求) 万级 万级 十万级 十万级(kafka最大的特点) Topic数量对吞吐的影响     topic可以达到几百、几千个,吞吐量会有小幅度下降 几十到几百个的时候...…

  18. JWT with Spring Security

    Reference rest-security-with-jwt-spring-security-and-java Spring Boot Security + JWT ‘‘Hello World’’ Example…

  19. Filter and Interceptor

    Reference Spring过滤器和拦截器的区别定义过滤器Filter 是 Servlet 的,在JavaWeb中,根据传入的 request、response 提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符。 过滤器是基于函数回调的 过滤器...…

  20. SpringBoot Gitlab CI and Kubernetes Integrate

    .gitlab-ci.ymlConfigure referenceimage: $IMAGE_REGISTRY/workplatform/mvnvariables: DOCKER_DRIVER: overlay NAMESPACE: dlink-test IMAGE_REGISTRY: registry.example.com GIT_SUBMODULE_STRATEGY: recursive GIT_STRATEGY: clone GIT_CHECKOUT: "true" ...…

  21. MySQL数据同步

    需求将 Mysql 数据同步到 ElasticSearchMysql 数据同步方案 Elastic Logstash 优点:无侵入性,无需开发,配置即可,标准的ELK技术栈 缺点:实时性不高,定期按条件查询mysql,然后同步数据,有可能会造成资源浪费 Alibaba Canal 优点:成熟的数据库同步方案, 缺点:实时性不高,定期按条件查询mysql,然后同步数据,有可能会造成资源浪费 go-mysql...…

  22. GitLab CI/CD

    Reference 用GitLab-Runner打造锋利的CI/CDCI CD 持续集成(Continuous Integration)指开发人员在特性分支(频繁)提交代码,立即执行构建和单元测试,代码通过测试标准后集成到主干的过程。强调的是分支代码的提交、构建与单元测试,这个过程的产出是单元测试报告。 持续交互(Continuous Delivery)是在持续集成的基础上,将构建的代码部署到「类生产环境」,完成QA测试之后手动部署到生成环境的过程。强调代码部署,这个过程产出测试报告...…

  23. Avro

    Avro Tools# Download$ wget https://repo1.maven.org/maven2/org/apache/avro/avro-tools/1.9.1/avro-tools-1.9.1.jar# Help$ java -jar avro-tools-1.9.1.jar Version 1.9.1 of Apache Avro Copyright 2010-2015 The Apache Software Foundation This prod...…

  24. Go Modules

    介绍Java 管理依赖的工具有 Maven、Gradle,而对于 Go,以前(1.13之前)则是依赖GOPATH,GOPATH下有三个目录 $GOPATH/src: go 编译时查找代码的地方,例如import (k8s.io/kubernetes/cmd/kubectl/app),就需要将k8s.io/kubernetes/cmd/kubectl/app放在src目录下 $GOPATH/bin: go get、godep 这种 bin 工具包的时候,二进制文件下载的目的地 $GOP...…

  25. Go Commands

    Usage$ goGo is a tool for managing Go source code.Usage: go <command> [arguments]The commands are: bug start a bug report build compile packages and dependencies clean remove object files and c...…

  26. Mongo Shell Methods

    Mongodb 的 shell 支持原生的 javascript,所以很多 shell 命令和 javascript 类似。基本操作命令 Mongo Shell Methods// 进入MongoDB shell$ mongo// 2、输入help可以看到基本操作命令 :help> > db.help();> db.yourColl.help();> db.youColl.find().help();> rs.help();// 3、查看当前已经存在的数据库...…

  27. Mongo Package Components

    Reference MongoDB Package Components Reference -> MongoDB Package Components -> ...服务启动# 查看帮助$ mongod --help# 删除服务$ mongod --remove# windows service 安装$ mongod --config "C:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg" --install# 启动 Wind...…

  28. Mongo Operators

    Reference Mongo OperatorsOperators 可以理解为 MongoDB 提供的开箱即用的一些基本的”算子参数”,供 MongoDB 的方法识别,去执行相应的任务,可以分为下面几类: Query and Projection Operators:Query operators provide ways to locate data within the database and projection operators modify how data is pr...…

  29. Mongo Database Commands

    Reference Mongo Database Commands…

  30. MongoDB Driver

    Mongo Drivers MongoDB Drivers and ODMScala MongoDB Scala Driver…

  31. Kerberos Exceptions

    现象访问 Kerberos 认证的 HDFS 集群一直org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS],但是 kerberos 认证已经成功了2019-11-26 22:17:02.724 WARN [main] NativeCodeLoader: Unable to load native-hadoop library for your p...…

  32. Nginx

    Nginx 简介Nginx是一款轻量级的 Web 服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。相较于 Apache,Apache 是同步多线程模型,一个连接对应一个线程,而 Nginx 是异步的,多个连接(万级别)可以对应一个线程。Nginx 的优势是处理静态请求,CPU、内存使用率低,Apache 适合处理动态请求,所以现在一般前端用 Nginx 作为反向代理抗住压力,Apache 作为后端处理动态请求。反向代理(Reverse Proxy)是指以代理服务器来接受...…

  33. Java Test

    Junit & TestNG A Quick JUnit vs TestNG Comparison…

  34. RPC

    参考 Java RMI 和 RPC 的区别 牛逼哄哄的 RPC 框架,底层到底什么原理? RPC 简介 RPC(Remote Procedure Call),远程过程调用,允许程序调用位于其他机器上的过程(也可以是同一台机器的不同进程),当A(RPC Client)调用B(RPC Server)时,A会被挂起,等待B处理结束返回结果给A,他屏蔽了复杂的序列化反序列化和通信细节,对于编程人员来说,就好像调用了本地的过程一样。随着 RPC 的发展,出现了大量的相关技术,比如...…

  35. Tree

    概念树是图的子集,是一种一定有一个根节点(root)的无环图。Binary TreeBinary Search Tree wikipedia二叉查找树(BST): 要么是一颗空树,否则对于任意节点 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值 任意节点的左、右子树也分别为二叉查找树 没有键值相等的节点。中序遍历二叉查找树可得到一个关键字的有序序列,一个无序序列可以通过构造一棵二叉查找树变成一...…

  36. PriorityQueue

    概念队列的特性,FIFO(First in First out)PriorityQueue参考PriorityQueue是从JDK1.5开始提供的新的数据结构接口,它是一种基于优先级堆实现的极大优先级队列。优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列(参阅Comparable),也可以根据Comparator来指定,这取决于使用哪...…

  37. Search Theory

    索引和搜索过程索引过程 有一系列需要被索引的数据文件 被索引的数据文件经过语法分析和语言处理形成一系列词(Term)。 经过索引创建形成词典和倒排索引表。 通过索引存储将索引写入硬盘。搜索过程 用户输入查询语句。 对查询语句经过语法分析和语言分析得到一系列词(Term)。 通过语法分析得到一个查询树。 通过索引存储将索引读入到内存。 利用查询树搜索索引,从而得到每个词(Term)的文档链表,对文档链表进行交,差,并得 到结果文档。 将搜索到的结果文档对查询的相关性进行排...…

  38. ORC File

    参考https://www.cnblogs.com/ITtangtang/p/7677912.htmlORC 文件存储格式ORC 的全称是(Optimized Row Columnar)…

  39. Java Concurrent

    Introduction本篇主要整理 Java 并发编程中的知识点TerminologyThread.State 版本: oracle jdk1.8package java.lang;publicclass Thread implements Runnable { ... /** * A thread state. A thread can be in one of the following states: * <ul> * <l...…

  40. Java Develop Plugins

    Lombok juejin.im/post/5b00517cf265da0ba0636d4b引入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> <scope>provided</scope></d...…

  41. Java Options

    Java 命令使用介绍$ info javaCommon parameter理论上来说,虚拟机的堆大小只会受到虚拟内存地址空间大小(比如32位最大是4G)的限制。那么,什么时候操作系统才会真的分配物理内存给虚拟机呢?答案就是,在内存第一次被使用的时候。这个使用并不是说我新建了一个对象,然后操作系统就唰的把所有物理内存分配好了,它只是按照虚拟机的需求,分配了一点点。(实际上是,只是把使用到的这部分内存按照页映射到了物理内存上)# 操作系统在虚拟机启动的时候就直接完成物理内存的绑定-XX:+A...…

  42. Spark Execution Process

    介绍通过详细拆解 spark log,来了解 spark 程序从提交到执行结束所经历的整个过程。其中-是我的注释,不是输出日志Spark on YARN19/04/25 11:27:30 WARN Spark$: ..................... 我佛慈悲 ..................... _oo0oo_ o6666666o 66" . "66 ...…

  43. GRPC

    参考 gRPC 官方文档 gRPC 中文文档 gRPC 学习笔记 深入浅出 gRPC01: 服务端创建和调用原理重要概念Client Stub & Server Skeleton翻译过来就是客户端存根&服务器框架,这两个东西分别封装了用户去调用远程方法的客户端与服务端封装 args message,发送消息,接收消息,解析 args message,执行方法,返回数据,接收返回数据的具体细节。常见异常Stream Errorhttps://github.com/gr...…

  44. Ranking Theory

    信息检索 Stanford - Information Retrieval检索模型搜索结果的排序是搜索引擎最核心的部分,这就牵扯到用户查询条件和文档内容相关性的分析,对许相关性的分析,依赖于搜索引擎才用的检索模型。最重要的检索模型有,布尔模型,向量空间模型,概率模型,语言模型,机器学习排序算法。 Lucene TF-IDF Similarity Queries as vectors Computing vector scores Efficient scoring and ran...…

  45. HBase Summary

    概述本篇文章收录了网上 HBase 相关的知识点,用于更好的整理和理解 HBase。WAL HBase中WAL(Write-Ahead-Log)的特性与场景分析Summary HBase抗战总结 - 阿里巴巴HBase高可用8年抗战回忆录 HBase 内存管理 HBase内存管理 - MemStore进化论HBase Region Split & Compaction HBase Region Split Compaction 过程分析以及调优…

  46. Spark SQL Configurations

    查看 Spark SQL 详细配置项及其介绍val sparkSession = SparkSession.builder.getOrCreatesparkSession.sql("set -v").show(1000, truncate=false)Spark SQL 2.2.2 key value meaning spark.sql.adaptive.enabled false When t...…

  47. Spark DataSource

    Spark2.4.0 DataSource 源码object DataSource extends Logging { /** A map to maintain backward compatibility in case we move data sources around. */ // 笔者注: 这里就是 DataReader/DataWriter 所支持的所有 source format 实际对应的 Format 类 private val backwardCompatib...…

  48. RocksDB

    常见 KV Store常见kv存储有 基于内存的 redis 基于单机磁盘的 leveldb、rocksdb 分布式(超过 TB 级别的) cassandra、hbaseRocksDB RocksDB RocksDB 中文网 RocksDB 引擎: 5分钟全面了解其原理 RocksDB 笔记 Overview安装rocksdb 是 c++ 写的,由于官方没有提供对应平台的二进制库,不同平台编译的类库是不通用的,所以需要自己去相应的平台编译使用。如果使用 rocksdbjav...…

  49. Redis 事务与 Pipeline

    原生事务val redis = Redis.getRedisClient()// 开启事务redis.multi()redis.set("1", "1")redis.set("2", "2")// 执行事务redis.exec()Pipelineval redis = Redis.getRedisClient()val pipeline = redis.pipelined()pipeline.set("1", "1")pipeline.set("2", "2")// flush &...…

  50. HBase Phoenix SQL

    HDP 开启 PhoenixHBase->Configs->Phoenix SQL->Enable Phoenix建议修改配置项# hbase regionserver wal 编码,默认 org.apache.hadoop.hbase.regionserver.wal.WALCellCodechbase.regionserver.wal.codec = org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCode...…

  51. 数据压缩

    Snappy不是压缩比最高的方法,但是性能很好,API 简单。另外如果压缩的数据特别少的话(比如几十个字符),反而增大数据体积,测试5000+字符下有50%的压缩比。参考Google Snappy GithubGoogle Snappy third partiesSnappy Javamaven<!-- https://mvnrepository.com/artifact/org.xerial.snappy/snappy-java --><dependency> ...…

  52. Redis Memory Optimization

    参考 Redis 开发与运维 - 付磊、张益军RedisObjectRedis 中的所有值对象在 Redis 内部定义为RedisObject,理解RedisObject对内存优化很有帮助,一个RedisObject包含下面几个属性: type: 对象所属类型,string、list、hash、set、zset,占4位。 使用type {key}查看对象所属类型,type命令返回的都是值对象的类型,键都是string类型的。 encoding: 对象所属类型的内部编码,占4位。这一块...…

  53. Redis Conf

    # Redis configuration file example.## Note that in order to read the configuration file, Redis must be# started with the file path as first argument:## ./redis-server /path/to/redis.conf# Note on units: when memory size is needed, it is possible t...…

  54. Redis Dump 文件分析

    downloadrdb 文件分析工具redis-db-tools页面管理工具,免费版本的功能会有所限制manager-tools-gui$ wget -O rdbtools "https://binaries.rdbtools.com/v0.9.33/rdbtools-linux64-v0.9.33" \ && sudo mv ./rdbtools /usr/local/bin/ \ && sudo chmod +x /usr/local/bin...…

  55. Flink

    参考Alibaba BlinkFlinkFlink 作为流计算引擎的优点 Low Latency Exactly Once 流批统一 可以支持足够大数据量和复杂计算不同于 Spark,Flink 是一个真正意义上的流计算引擎,和 Storm 类似,Flink 是通过流水线数据传输实现低延迟的流处理;Flink 使用了经典的 Chandy-Lamport 算法,能够在满足低延迟和低 failover 开销的基础之上,完美地解决 exactly once 的目标;如果要用一套引擎来统一...…

  56. Kerberos Authentication

    参考 图解 Kerberos 协议原理 Kerberos基本概念及原理汇总 Kerberos 认证原理 Kerberos 体系下的应用(yarn, spark on yarn) Kerberos 入坑指南 HDFS 配置 Kerberos 认证 Windows 域认证 Kerberos 详解 美团数据平台 Kerberos 优化实战Kerberos 认证流程认证实际要解决的问题证明某个人确确实实就是他或她所声称的那个人怎么解决如果一个secret只有你我知道,那么我就可以用...…

  57. Spark Streaming Kafka Integration

    Reference Spark Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher) Kafka configurations…

  58. Redis 常用命令

    参考 https://blog.csdn.net/xusir_1/article/details/80272819 https://redis.io/commands基本类型redis 中的table是以key的形式存在的,key可以分为五种类型 string: 字符串 hash: 哈希 list: 列表 set: 集合 zset: 有序集合(sorted set)后面又增加了 bit arrays (或者说 simply bitmaps) 在 2.8.9 版本又添加了H...…

  59. YAML

    InstructionYAML 是一种比其他常见数据格式(如XML或JSON)更易于读写的文件格式。official referenceCollectionsYAML的块集合使用缩进限定范围并在其自己的行上开始每个元素。序列用短划线和空格- 表示每个元素。映射使用冒号和空格:来标记每个键值对。注释以井号开头(也称为octothorpe,hash,sharp,pound或number sign - #)。List- Mark McGwire- Sammy Sosa- Ken GriffeyM...…

  60. Kubernetes Exceptions

    kubectl 异常no resource found# 执行 kubectl 命令时出现下面的 errorNo resources found.Error from server (NotAcceptable): unknown (get pods)# 原因:尽管 kubernetes 一直说要将 kubectl 更新到最新以防出现未预期的错误,# 但是版本差太多一样会出现问题。比如:$ kubectl versionClient Version: version.Info{Major:...…

  61. Kubectl

    Start Install and Set Up kubectlinstall 直接下载安装 kubectl client# OSX$ brew insatll kubernetes-cli 下载 binary release,通过这种方式可以下载历史版本的 kubectl# OSX$ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.11.0/bin/darwin/amd64/kubectl#...…

  62. Hive 异常

    HDFS 对应分区目录下有数据文件,但是 Hive 查不到数据Hive 查询数据会先查找 metastore,然后根据 metadata 去读取 warehouse 中的数据文件,如果直接将数据文件放到对应 hdfs 目录下,而没有更新 metadata 的话就会出现这种问题。# 查看 Hive metastore,是否对应的分区信息mysql -u hive -pmysql> select * from hive.PARTITIONS;+---------+------------...…

  63. HDP

    Ambari 安装各组件的目录结构ambari 通过 rpm 安装,所有组件的配置文件都可以在/etc下查看,例如/etc/kafka,这里面都是建立的软连接,实际的安装目录在/usr/hdp下,而CDH是/opt/cloudera。各组件的日志默认在/var/log下,这个和 CDH 是一样的。具体的日志可以查看各组件日志相关的参数配置以及log4j配置。离线安装Ambari installationUsing a Local Repositorydownload apache http...…

  64. HDFS

    HDFSHDFS 是 Hadoop 的分布式文件系统的实现,主要包含 NameNode(Master): The NameNode manages the filesystem namespace. It maintains the filesystem tree and the metadata for all the files and directories in the tree. This information is stored persistently on the lo...…

  65. 端口转发直连内网服务器

    Reference SSH隧道应用, 突破网络限制 SSH隧道:内网穿透实战Mac 下载 secureCRT为什么不是 XShell?因为特么的没有 Mac 版本的 XShell问题我们现在有一台有公网权限的节点(11.22.33.44),即跳板机,它既可以访问内网也可以访问外网。然后有一台没有外网权限的节点(192.168.10.1)。正常来讲我们需要ssh到跳板机,然后再通过ssh内网中的机器再进行操作。现在我们想通过一次ssh直接访问内网机器,那怎么办?配置登陆密钥菜单栏 Sec...…

  66. Logstash

    Logstash Logstash Reference Logstash config-setting-files Install Download Logstash Logstash Directory LayoutConfig yaml# RPM Install$ vim /etc/logstash/logstash.yml# TAR Install$ vim ${LOGSTASH_HOME}/config/logstash.ymlPlugin Con...…

  67. FileBeat

    原理FileBeat 由两个重要的组件构成,inputs和harvesters,这两个组件从尾部读取数据,然后将数据发送到指定的outputsharvestersharvesters负责逐行读取单个文件的内容,并将读取的数据发送到output。每个文件都会启动一个harvesters,并由harvesters负责打开和关闭文件。由于文件描述符在harvesters运行时会一直保持在打开状态,因此,如果文件在被收集时被删除或者重命名,FileBeat 仍然会读取该文件,即在harvester...…

  68. FileBeat Configuration

    Referencehttps://www.elastic.co/guide/en/beats/filebeat/current/filebeat-reference-yml.htmlFileBeat configurations######################## Filebeat Configuration ############################# This file is a full configuration example documenting a...…

  69. Java Hash

    Java Map 中的 hash()https://www.cnblogs.com/skywang12345/…

  70. Java Technology and the JVM

    Official References Java Platform, Standard Edition Documentation - Multiple Releases Portal(JDK 7 - 13) Java Language and Virtual Machine Specifications - Multiple Releases Portal(Java SE 6 - 13) The Java® Language Specification - Java SE 8 Ed...…

  71. Java Exceptions

    Common ExceptionsCommon Java ExceptionsJVM ExceptionsOutOfMemoryError: GC Overhead Limit ExceededGC Overhead Limit Exceeded直译过来就是,超出垃圾收集的开销上限。OutOfMemoryError是java.lang.VirtualMachineError的子类,当 JVM 花费太多时间执行垃圾收集并且只能回收非常少的堆空间时,就会发生错误,说明 JVM 内存耗尽了,根据...…

  72. JProfiler

    安装注册https://www.ej-technologies.com/download/jprofiler/files# 注册码 for 10.x 版本L-0QhOwKlb3f-ejyjdgVCyJ#18150S-Pny9cqLTq8-Nv8ybeLI9g#2207L-JrWzVKm0RL-TCTPvmtOzb#35244S-aVYVZrYIQ3-fLCoEBqrqo#10283L-r8T6zhTyWK-J63f4KylQ8#28145L-UDtmKp7as4-AAdnnklZ3F#21...…

  73. Neo4j

    安装downloadoperations-manual# 确保安装了 jdk# 修改配置文件$ vim conf/neo4j.conf# cofigure ip/hostdbms.connectors.default_advertised_address=192.168.51.100# To accept non-local connections, uncomment this line:dbms.connectors.default_listen_address=0.0.0.0# 启动...…

  74. Docker 入门

    下载 Docker Community Engine Download Docker-CE-Desktop-Windowsdocker 命令 Docker run reference帮助# 查看 docker 命令的 options 和 command$ docker --help# 查看具体 command 的使用方式$ docker command --help查看 docker 容器信息# 查看 docker 所有容器和镜像的数量、docker 使用的执行驱动和存储驱动以及 d...…

  75. YARN

    YARNYARN 的组件: ResourceManager(Master) NodeManager(Slave)common properties# YARN 程序依赖的路径yarn.application.classpath /conf,/*,...# YARN nodemanager 日志存放路径,对应 Spark standalone Env : SPARK_WORKER_DIRyarn.nodemanager.log-dirs /hadoop/yarn/log,/mnt/...…

  76. 模拟登陆

    依赖 Python3.6.4_x64 requests: 安装pip install requests numpy: 安装pip install numpy Pillow(PIL): 官方手册,安装pip --trusted-host pypi.tuna.tsinghua.edu.cn install -i https://pypi.tuna.tsinghua.edu.cn/simple Pillow tesseract-ocr: 项目介绍,安装https://github.co...…

  77. 下载图片

    requestsimport requestsimport timeresponse = requests.post('http://kq.neusoft.com/imageRandeCode')now = time.time()with open('%s.jpg' % now, 'wb') as file: file.write(response.content)urllibfrom urllib import requestrequest.urlretrieve('http://...…

  78. Maven Nexus Repo

    搭建前的准备Nexus Repository OSS 下载地址阅读官方文档搭建本文记录的是 CentOS 7.4 上搭建 Nexus Repository Manager OSS 3.x 的过程,其他版本的搭建需要参考官方文档相应版本的说明!JDK必须是 Oracle JDK 1.8, Open JDK 不行!添加用户并赋予权限useradd nexus tar -zxvf nexus-3.12.0-01-unix.tar.gz -C /home/nexusvisudo nexus ...…

  79. CDH

    系统环境准备网络配置所有节点都需要进行以下配置# 修改主机名vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=n1# 重启网络生效service network restart# 修改ip与主机名关系vi /etc/hosts10.4.121.79 n110.4.121.80 n210.4.121.81 n3主节点配置到所有节点的 ssh 免密登陆安装 Oracle JDKNTP 时间同步安装 MysqlCloudera Manager下...…

  80. Spark Shuffle

    参考 what is shuffle read shuffle write in apache spark spark shuffle introduction nsdi spark 一篇文章了解 Spark Shuffle 内存使用 Shuffle Write解析 (Sort Based Shuffle)Spark Memory 管理Executor中的内存由MemoryManager统一管理,当一个Task被分配到某个Executor上时,会为该Task创建一个TaskMem...…

  81. Spark Job Optimization

    ReferencesApache Spark 2.0 作业优化技巧reduce task 数目不合适调整分区数,设置为core数目的2-3倍,太少运行缓慢或者单个任务太大导致内存不足,数量太多,造成任务太小,增加启动任务的开销,因此需要合理的修改reduce task的数量spark.default.parallelism 800shuffle io 磁盘时间长设置多个磁盘,并且设置 io 最快的磁盘,通过增加 IO 来优化 shuffle 性能spark.local.dirmap/red...…

  82. Spark Configuration

    SparkCore Config 源码// 定义了 Spark Core 的配置属性org.apache.spark.internal.config参考Spark Configuration指定 Spark ConfigurationSpark Configuration Properties 可以在三个地方进行配置,优先级依次增加。spark-defaults.conf在配置文件中指定全局的参数,优先级最低$ vim SPARK_HOME/conf/spark-defaults.conf...…

  83. Spark Common Exceptions

    spark 运行空指针异常的原因 嵌套使用了RDD操作,比如在一个RDD map中又对另一个RDD进行了map操作。主要原因在于spark不支持RDD的嵌套操作。 在RDD的算子操作中引用了object非原始类型(非int long等简单类型)的成员变量。是由于object的成员变量默认是无法序列化的。解决方法:可以先将成员变量赋值给一个临时变量,然后使用该临时变量即可 spark 2.0.0对kryo序列化的依赖有bug,到SPARK_HOME/conf/spark-default...…

  84. Hive 基础

    参考官方手册Hive Tutorial官方手册Hive LanguageManual数据单位按粒度从大大到小Databases数据库限定一个命名空间,这样就可以避免表、视图、分区、列的命名冲突。也可以限定一组用户的访问权限。Tables具有相同模式(Schema)的同类数据构成的集合,存储到一张表中。例如一张表的模式包含userid、username、password、datetime等列。Partitions表可以用一到多个partitionKeys决定数据的存储方式。Partition...…

  85. HBase Integration

    参考官方手册StorageHandlersStorageHandlers 是 Hive 的一个独立的模块,以模块化,可扩展的方式访问由其他系统(HBase、Kafka、JDBC…)存储和管理的数据。Terminology在 StorageHandlers 之前,Hive 的表可分为: managed tables:在 Hive Metastore 中进行管理的表,以及由 Hive 负责其数据存储的表。 external tables:由某个外部目录或系统进行管理的表,这些表并不属于 H...…

  86. SkipList

    SkipList 跳表对于二分查找算法,底层依赖的是数组随机访问的特性(连续内存,元素固定大小),因此只能用数组来实现。对于存储在链表中的数据,对链表稍加改造,改造成 SkipList,就可以支持类似”二分”的查找算法。跳表是一种各方面性能都非常优秀的动态数据结构,可以支持快速的插入、删除、查找操作,写起来也不复杂,甚至可以替代红黑树(Red-black tree)。Redis 中的 Sorted Set(ZSet) 默认使用 zipList 编码存储数据,实现内存数据压缩,但当数据量超过...…

  87. Spark JDBC 调优

    JDBC 调优Spark 通过 JDBC 读取关系型数据库,默认查全表,只有一个task去执行查询操作,效率可想而知。首先从官网粘几个重要的参数项: Property Name Meaning url The JDBC URL to connect to. The source-specific connection properties may be specified in the URL. e.g., jdb...…

  88. Spark SQL

    SQLConf 源码// 定义了 SparkSQL 的配置属性org.apache.spark.sql.internal.SQLConforg.apache.spark.sql.internal.StaticSQLConfBuilt-in FunctionsSpark SQL, Built-in FunctionsUDF注册 SparkSQL UDF 有两种方式sparkSession.udf.register()和org.apache.spark.sql.function.udf()这种...…

  89. HBase Exception

    java.lang.NoClassDefFoundError: com/yammer/metrics/core/Gauge18/05/03 16:44:41 INFO RpcRetryingCaller: Call exception, tries=11, retries=31, started=48412 ms ago, cancelled=false, msg=com.google.protobuf.ServiceException: java.lang.NoClassDefFound...…

  90. HBase APIs

    Scala or Java clientDependenciesMaven<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>1.3.1</version></dependency>SBTlibraryDependencies += "org.a...…

  91. Java Design Patterns

    简介 设计模式(45 种)设计模式总结为下面的几大类创建型模式(Creational Patterns)提供一种在创建对象的同时隐藏创建逻辑的方式,而不是使用new直接实例化对象,根据给定条件创建相应的对象,更灵活。 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 对象池模式...…

  92. Python 异常列表

    certificate verify failed在使用pip安装requests包的时候出现下面的问题:Could not fetch URL https://pypi.python.org/simple/requests/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) - skippi...…

  93. ElasticSearch APIs

    声明本文章是作者在阅读官方文档时的整理,因为作者水平有限,可能会有理解或翻译的不正确的地方,可以在下方留言ElasticSearch APIs 简介和ElasticSearch交互的方式取决于是否用Java,如果使用Java,可以使用ElasticSearch的Java Client,否则使用RESTful API with JSON over HTTPElasticSearch 支持的所有语言的 client 的说明文档可以在这里找到:Elasticsearch ClientsJava ...…

  94. ElasticSearch Exceptions

    ElasticSearchCannot determine write shards…org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Cannot determine write shards for [SafetyCenter_YBRZ/docs]; likely its format is incorrect (maybe it contains illegal characters?)at org.elastics...…

  95. Zookeeper

    简介Zookeeper 的数据结构类似 Linux 文件系统对于 Zookeeper 的每一个节点,节点一定有值,没有值是没有办法创建成功的,可以指定为空串。Zookeeper 为程序提供节点的监听服务(类似数据库触发器,当数据发生变化,会通知客户端程序)Install# Download$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bi...…

  96. SBT

    配置国内镜像$ vim ~/.sbt/repositories[repositories] local aliyun: http://maven.aliyun.com/nexus/content/groups/public/ central: http://repo1.maven.org/maven2/ custom: http://custom.company.com/nexus/content/groups/public/…

  97. Kubernetes

    Reference dockone.io kubernetes.ioOverview Overview what is kubernetes? Kubernetes Components The Kubernetes API Working with Kubernetes Objects Kubernetes(k8s)是自动化容器操作的开源平台,包括部署、调度和集群扩展。如果你曾经用过 Docker 容器技术部署容器,那么可以...…

  98. 动态规划

    Dynamic Programming 动态规划的意义是什么?LevenshteinLevenshtein 距离,又叫编辑距离(Edit Distance),指从一个字符串转成另一个字符串所需要最少编辑次数。编辑距离越大,说明两个字符串越不相似。编辑操作包括插入、删除、替换字符。举个例子:sitting -> kittenkitting (s -> k)kitteng (i -> e)kitten ( <- g)相似度计算公式为1 - editDista...…

  99. Hive 集群间数据迁移

    使用 hadoop distcphive 元数据和真实的数据是完全分离的,因此迁移分为两个部分: 元数据迁移: 把所有 Hive 表的建表语句写入/tmp/schema.sql(当然你也可以 dump mysql 元数据,这样你就不用把建表语句 copy 出来了) 真实数据迁移: Hive 数据通过hadoop distcp在不同 hdfs copy 真实数据 # 语法hadoop distcp [options] source destination# 查看帮助$ hadoop...…

  100. Hive 安装

    搭建前的准备首先得搭建好Hadoop,可以参考之前的博客Hive版本:apache-hive-2.3.2-bin.tar.gz。点击下载。官方手册清单(目录)官方手册开始Hive安装和配置官方手册LanguageManual 语法参考博客Hive的几种内置服务参考博客Hive-Metastore及其配置管理参考博客Hive metastore三种配置方式安装过程解压tar -xzvf hive-2.3.2.tar.gz -C /home/hadoop/配置环境变量PATH 环境变量中必须有...…

  101. Hadoop 集群搭建

    搭建前的准备本次搭建Hadoop版本是hadoop2.7.6-release,点击下载安装包。伪分布式集群搭建参考,官方文档搭建过程新建hadoop用户useradd hadoop# 为hadoop用户分配sudo权限visudo# 添加如下内容hadoop ALL=(ALL) NOPASSWD: ALL# 设置hadoop密码passwd hadoop将下载好的hadoop-2.7.6.tar.gz包解压到/home/hadoop/。su - hadoop tar -zxvf...…

  102. Scala 算子执行顺序

    遇到的问题在try语句中的flatMap()做写入数据库的操作,在finally中执行Connection.close()方法释放资源,结果出现了ConnectionClosedException。先验知识 Scala 的finally语句块默认没有返回值(返回值类型为Unit),除非显示使用return关键字。 try和catch块中的最后一行默认是返回值,并且返回值会先暂存到缓存中,等待finally中的语句执行完之后再执行。即try catch finally+return的执行...…

  103. 名词解释

    RAWGraphGephi 关注图谱ROLTPOLTP(online transaction processing)联机事务处理:传统的关系型数据库,主要应用于基本的、日常的事务处理,例如银行交易。OLAPOLAP(online analytical processing)联机分析处理:数据仓库的核心部分,专门为复杂的分析操作设计,侧重与对决策人员和高层管理人员的决策支持,提供直观易懂的查询结果。Greenplum dbMMPMMP可扩展的大规模并行数据仓库解决方案编译和解释的区别?编译器...…

  104. ElasticSearch Node

    Node ElasticSearch Node…

  105. ElasticSearch Cluster Install

    Elastic Stack and Product IntroductionElastic Stack 产品说明,重要指数 ★★☆Elastic Stack 链接目录,包含各种产品的使用手册,例如:ElasticSearch权威指南(英文)、ElasticSearch使用手册、Kibana使用手册等等。重要指数 ★★★★★ELK简介 E: ElasticSearch 基于Luence构建的开源、分布式、RESTful接口全文搜索引擎,它还是一个分布式文档数据库,其中的每个字段都是被索引的...…

  106. Scala

    变量Scala中包含两种类型的变量:可变变量和不可变变量。分别用var和val定义。可变变量就和java中的对象变量一样,变量被赋值之后仍然随着程序的运行而改变。var str = "abc"str = "def"而不可变变量就相当于java中被final修饰的变量,一旦被赋值就不可以再修改。val str = "abc"// 不能再修改它的值!会报错str = "def"编译报错:Error:(43, 7) reassignment to val sum = "edf"需要特别注意的是...…

  107. OSI模型、TCP/IP协议栈

    注:文章参考内容出处:TCP/IP四层协议模型与OSI七层模型、TCP协议与UDP协议的区别、TCP三次握手和四次挥手详解OSI标准模型和TCP/IP协议模型OSI(Open System Interconnection,开放式通信互联)是由ISO(International Organization for Standardization,国际标准化组织)制定的标准模型。旨在将世界各地的各种计算机互联。然而,OSI模型过于庞大、复杂。参照此模型,技术人员开发了TCP/IP协议栈,简化OS...…

  108. pykafka

    pykafkapykafka是python(python 2.7+ 、python3.4+ 和PyPy)连接kafka(>=0.8.2)的client。常用的还有kafka-python。pykafka相较于kafka-python生产者的效率会更好一些(网上有的帖子看到的,并没有亲自验证过),因为只是用将爬虫爬取的数据作为生产者写入kafka,后续是Spark Streaming作为消费者,所以选择研究pykafka。官方文档地址:http://pykafka.readthedoc...…

  109. 爬虫基础-HTTP协议之Header

    因为爬虫程序就是通过构造HTTP请求来获取数据的,所以写爬虫一定要了解HTTP协议。本文对HTTP协议和Web的一些基础知识进行整理,便于查阅。本文参考链接:http://tools.jb51.net/table/http_header、http://www.jb51.net/article/51951.htm目录 目录 HTTP/1.1 协议 Header 详解 通用头域 实体头域 Request请求消息: Response响应消息: ...…

  110. HTTP协议

    HTTP协议介绍HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。HTTP协议(Hype...…

  111. 生产者和消费者

    生产者APIimport org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.Producer;import org.apache.kafka.clients.producer.ProducerRecord;import java.util.Properties;public class ProducerMain { public static void ma...…

  112. Kafka 集群管理

    Reference Official DocumentationKafka Tools 管理工具 6.1 Basic Kafka Operations Note: 不同版本间参数变动较大,命令具体参数使用需要查看相对应版本的命令使用,例如老版本(0.9之前) offset/group metadata 是默认存储在 zookeeper 中的(i.e. offsets.storage=zookeeper),因此指定地址的时候使用--zookeeper指定 zookeeper 地址,而新...…

  113. Kafka 集群搭建

    基本概念 Broker: 服务代理。实质上就是kafka集群的一个物理节点。 Topic: 特定类型的消息流。”消息”是字节的有效负载(payload),话题是消息的分类的名或种子名 Partition: Topic的子概念。一个Topic可以有多个Partition,但一个Partition只属于一个Topic。此外,Partition则是Consumer消费的基本单元。消费时。每个消费线程最多只能使用一个Partition。一个topic中partition的数量,就是每个use...…

  114. Kafka 消息机制

    Kafka 消息丢失情况分析消息生产端Kafka Producer 消息发送(producer.type)有两种,sync和async,默认是同步sync,而如果设置成异步async,生产者可以以 batch 的形式批量 push 数据,这样可以减少网络和磁盘 IO 的次数,以少量的延迟换取 broker 的吞吐量,但同时也增加了丢失数据的风险。producer.type=async下,相对应的几个参数 queue.buffering.max.ms(default:5000) 启用异步模...…

  115. Kafka Configurations

    Reference Official Documentation ConfigurationBroker Configs Broker Configs…

  116. SparkStreaming

    SparkStreaming 介绍SparkStreaming 是 Spark-core API 的扩展,对实时数据流(live data streams)提供可扩展(scalable)、高吞吐(high-throughput)、容错(fault-tolerant)的流处理方法。SparkStreaming 可以从许多数据源提取数据,例如Kafka、Flume、Kinesis、TCP sockets。可以用像map、reduce、join、window这样的高级方法,配合 MLlib 和 ...…

  117. Pregel API

    Pregel 介绍谷歌公司在2003年到2004年公布了GFS、MapReduce和BigTable,成为后来云计算和Hadoop项目的重要基石。谷歌在后Hadoop时代的新”三驾马车”——Caffeine(大规模网页索引构建,即爬虫)、Dremel(实时交互式查询,PB级数据2-3秒即可给出查询结果)和Pregel,再一次影响着圈子与大数据技术的发展潮流。Pregel是一种基于BSP模型实现的并行图处理系统。为了解决大型图的分布式计算问题,Pregel搭建了一套可扩展的、有容错机制的平台...…

  118. settings.xml

    Maven pom.xml POM ReferenceMaven settings.xml Settings Reference除了pom.xml外,maven还有一个很重要的xml文件,其中包含了全局的各种配置项,具体配置项的含义如下。原文链接<project xmlns="http://maven.apache.org/POM/4.0.0 " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance " ...…

  119. Maven

    Reference maven documentationBasic ConceptsCompileCompile:将源代码转换成机器识别的机器语言的过程,就叫做编译。而对于Java而言,编译阶段会将Java源码转换成JVM识别的字节码,然后由JVM将字节码翻译成机器识别的机器码,这两个过程合并后就相当于传统编译器执行的编译过程。也正是有了JVM,Java会有良好的跨平台和可移植性。对于java应用程序,IDE一般都会提供三个功能:Compile、Make、Build,它们三个完成的功能...…

  120. logging 模块

    logging 默认配置import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message') 输出结果WARNING:root:warning messageERROR:root:error me...…

  121. 日期格式化

    使用 datetime 模块开发文档地址:https://docs.python.org/2.7/library/datetime.html#time-objectsfrom datetime import datetime# 获取当前日期date = datetime.now()# 当前是周几(0-6)day = date.weekday()# 当前是周几(1-7)day = date.isoweekday()# 当前是几点(24小时)hour = date.hour# 日期转格式化字符...…

  122. 可迭代对象以及列表生成式

    可迭代对象Python中,可以直接作用于for循环的对象统称为可迭代对象(Iterable)。包括: 列表(list): [1, 2, 3] 集合(set): {1, 2, 3} 元组(tuple): (1, 2, 3) 字符串(str): "123" 生成器(generator): xrange(1, 4)可以使用 isinstance() 方法判断一个对象是否是Iterable对象。>>> from collections import Iterable&g...…

  123. Chrome Extensions Develop

    需求浏览器点击页面元素返回页面元素的xpath表达式Chrome Extensions 开发文档(360翻译)中文开发文档地址代码实现// 获取xpath表达式function readXPath(element) { if (element.id !== "") {//判断id属性,如果这个元素有id,则显 示//*[@id="xPath"] 形式内容 return '//*[@id=\"' + element.id + '\"]'; } //这里需要需...…

  124. 依赖包搜索路径

    Python的依赖包搜索路径其实是一个列表,在import模块(Module)时,Python会先去搜索这个列表中的路,如果路径中存在要导入的模块文件,导入成功,否则就会出现ImportError查看当前的Python搜索路径import sysprint(sys.path)将自己写的模块加入到Python默认的搜索路径中 代码实现 import syssys.path.append('/home/neu/python/flights/flights') 在pytho...…

  125. Python 语法

    脚本语言Python通过编写脚本来执行程序,Python脚本以.py为扩展名,.pyw代表后台运行的Python文件。print 'hello python`将代码保存在test.py中,在linux shell中使用python命令执行脚本。python test.py可以在脚本文件中指定python解释器所在的路径,以可执行文件的方式执行脚本方式1:直接指定解释器所在的绝对路径#!/usr/bin/pythonprint 'hello python`方式2:告知python去环境变量里...…

  126. Spark-redis整合

    简介spark-redis 是为了让spark更简单的操作redis的各种集合spark-redis使用入门github地址下载并安装 Maven解压sudo mv -rf apache-maven-3.5.0-bin.tar.gz /usr/local/sudo tar -zxvf apache-maven-3.5.0-bin.tar.gz rm apache-maven-3.5.0-bin.tar.gz配置maven环境变量MAVEN_HOME=/usr/local/apache-ma...…

  127. Json和Json字符串的相互转换

    JS对象转换成JSON字符串// 声明一个 js 对象var jsonObj = {}; jsonObj.testArray = [1,2,3,4,5]; jsonObj.name = 'jsonObj'; // jsonObj.toString() 无效,需要使用下面的方法var jsonStr = JSON.stringify(jsonObj); alert(jsonStr); // 输出 {"testArray":[1,2,3,4,5],"name":"jsonObj"}下...…

  128. MongoDB 文档类解析

    MongoDB 文档Java Driver 中有这么几个类和接口来表示Bson文档BsonDocument虽然对于用户来说,一般使用驱动的高阶API,不使用这个类,但是BsonDocument类对于驱动程序在内部管理文档至关重要。BsonDocument类可以表示任何具有安全类型的复杂的动态结构化文档。例1:{ "a" : "MongoDB", "b" : [ 1, 2 ] }可以用BsonDocument表示为:new BsonDocument().append("a", new...…

  129. 连接Oracle

    instant_oracle configure参考博客下载 cx_Oracle$ pip install cx_Oracle或者 安装文件的下载地址注意事项: cx_Oracle下载的位数版本一定要和Python的位数版本相同,例如本地装的32位的Python,就一定要装32位的cx_Oracle。 本地oracle_instant的版本也必须得是32位的,因为在import cx_Oracle的时候会出现ImportError: DLL load failed: 找不到指定的模块。...…

  130. ChromeDriver

    版本对应信息chrome driver 版本支持的Chrome版本 代码 说明 v2.33 v60-62 v2.32 v59-61 v2.31 v58-60 v2.30 v58-60 v2.29 v56-58 v2.28 v55-57 ...…

  131. Portia

    介绍portia 是 scrapinghub 的一个基于 Scrapy 的开源可视化爬虫项目。scrapinghub附上链接平台链接:scrapinghub platform使用手册:documentation…

  132. Scrapy初探

    教学地址创建scrapy项目# 安装scrapy$ pip install scrapy# 或者下载安装文件,https://pypi.python.org/pypi/Scrapy# 安装文件包含两种,.whl(Python Wheel)和.tar.gz(source)$ pip install Scrapy-1.4.0-py2.py3-none-any.whl# 在windows下还需要安装pywin32,注意版本要和Python的版本一致,包括Python的位数,# 例如32位Pyth...…

  133. Oracle-PLSQL 安装与配置

    Windows instant client configure下载地址:http://www.oracle.com/technetwork/cn/database/features/instant-client/index.html下载清单 下载 instantclient-basic-nt-11.2.0.4.0.zip 下载 instantclient-sqlplus-nt-11.2.0.4.0.zip 下载 instantclient-tools-nt-11.2.0.4.0.z...…

  134. 挖掘频繁模式与关联关系

    概念首先频繁项集挖掘和关联关系分析和聚类算法一样属于无监督学习。本章节主要讲解下面会用到的一些重要概念与名词解释,先熟悉一下有助于理解算法过程。频繁模式:模式可分为项集、子序列。假设数据库中有100条交易记录,其中80条交易记录中都包含牛奶和面包。牛奶和面包的组合就称为项集,频繁出现在数据库记录中的项集,就称为频繁项集。而如果项集是有先后顺序的,如先购买 PC 再购买键盘,那么 PC 和键盘的组合就称为子序列,同理频繁出现在数据库中的子序列就是频繁子序列。频繁项集和频繁子序列统称为频繁模式...…

  135. Git Commands

    教程参考 Git Reference Manual Pro Git - Scott Chacon & Ben Straub Become a git guru Git scm 一张脑图带你掌握Git命令查看命令介绍# 查看$ git命令介绍$ git [command] -h,--helpGit 的大致流程Git 的三种内部状态管理机制要理解 Git 的原理,我们就需要了解 Git 的三种内部状态管理的机制 The Working Directory -> Wo...…

  136. Redis安装、集群搭建

    redis单节点的安装与启动首先下载redis的安装包,http://download.redis.io/releases/redis-4.0.0.tar.gztar -zxvf redis-4.0.0.tar.gz cd redis-4.0.0makemake install --prefix /usr/local/rediscp redis.conf /usr/local/redis/binvim redis.conf # 默认是no,redis server在前端进行,关闭shell...…

  137. Java Junior

    Introduction本篇主要整理 Java 初级的一些知识点JDK 环境变量# OSX 查找 JAVA_HOME 的方法# === 方法1 ===$ which java/usr/bin/java$ ls -l /usr/bin/javalrwxr-xr-x 1 root wheel 74 12 19 19:56 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Com...…

  138. Spark Reader

    spark读取csv文件的可以附加的所有option选项// Loads CSV files and returns the result as a DataFrame.def csv(paths: String*): DataFrameThis function will go through the input once to determine the input schema if inferSchema is enabled. To avoid going through the...…

  139. Spark-Mongo-Connector

    官方文档https://docs.mongodb.com/spark-connector/current/sbt 地址libraryDependencies += "org.mongodb.spark" % "mongo-spark-connector_2.11" % "2.0.0"写配置在SparkConf或者$SPARK_HOME/conf/spark-default.conf 文件中将uri、database、collection必选的配置项配置好,如下package com.neu...…

  140. Spark Monitor

    Spark 集群监控Spark UI StandAlone模式监控管理界面的入口:http://master:8080,可以在$SPARK_HOME/conf/spark-env.sh中修改参数SPARK_MASTER_PORT或者SPARK_MASTER_WEBUI_PORT来改变端口号。除此之外,Spark会给每一个SparkContext启动一个默认的Web界面,默认端口是4040,该界面显示了关于程序运行情况的信息,包括: Stages 和 Task列表 RDD 的信息统计和内...…

  141. Spark Logs

    Spark 日志存储Spark 节点启动情况的日志存储在$SPARK_HOME/logs下,例如spark-history-server的启动情况、master或者worker的启动情况。Spark执行各任务时输出的日志,例如println()、logger.info()会分两部分输出。 driver: 在main方法之中map等算子之外运行的输出日志会在driver节点(Master)生成,默认只在控制台输出。可以修改$SPARK_HOME/conf/log4j.properties,...…

  142. Spark Cluster Install

    Standalone 模式部署official reference - Spark Standalone Mode下载download下载对应版本的Spark,解压。配置域名vim /etc/hosts# 将集群的所有节点都添加进去,各个节点都需要配置,否则会出现 net exception127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost l...…

  143. Python安装(Linux)

    编译、安装过程首先去官网下载python包,地址:http://www.python.org/download/,然后将tgz格式包解压进入解压目录下,执行以下操作# 配置并且检查,然后生成编译安装所需要的文件,如:./configure --prefix /usr/local/python2.7# --prefix用于指定python的安装路径于/usr/local/python2.7# 生成文件如下:configure: creating ./config.statusconfig.s...…

  144. 字符编码

    编码格式世界上的任意字符在计算机中,都是用一串二进制的数字来表示的,只不过同一个字符在不同的编码格式下,对应的数字不同,长度也不一样。ASCIIASCII 是最早的编码规范,但是只能表示128个字符。扩展ASCII码后来有了扩展ASCII码,扩展到了256个字符。Unicode世界上的字符辣么多,256个就够了吗?Unicode 包含了世界上所有的字符。Unicode的所有字符长度都是定长的,16位,也就是说可以代表 65536 个字符,如下 今 天 早 上 有...…

  145. 准确率(Accuracy) 精确率(Precision) 召回率(Recall)和F1-Measure

    先验知识我们首先将数据的类别统一分为两类:正类和负类。例如:一个数据集中的数据一共有3类,小学生、中学生、高中生。我们的目标是预测小学生,那么标记为小学生的数据就是正类,标记为其他类型的数据都是负类。数据有两种状态:测试集数据和预测结果数据。对一批测试数据进行预测,结果可以分成四种。 TP(True Positive): 原本是正类,预测结果为正类。(正确预测为正类) FP(False Positive): 原本是负类,预测结果为正类。(错误预测为正类) TN(True Negati...…

  146. etc与var目录

    /var 文件系统/var包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。原来 /var 目录中有些内容是在 /usr 中的,但为了保持 /usr 目录的相对稳定,就把那些需要经常改变的目录放到 /var 中了。每个系统是特定的,即不通过网络与其他计算机共享。下面列出一些重要的目录 ( 一些不太重要的目录省略了 ) 。1./var/catman: 包括了格式化过的帮助(man)页。帮助页的源文件一般存在/usr/man/catman中;有些 man 页可能...…

  147. Spark Scheduler

    类似MapReduce的任务调度,Spark也有自身的资源调度方式,包含应用程序间和应用程序中两个层面的策略调度。每个Spark程序(SparkContext实例)运行一个独立的执行进程,集群管理器提供了应用程序间的调度处理措施。其次,在每个Spark应用程序中,不同线程提交的多个Job作业(Spark Actions)可以同时运行。作业调度常见作业调度的基本概念: Job : 作业,一次Action生成的一个或多个Stage组成的一次计算作业。 Stage : 调度阶段,不存在shu...…

  148. Spark Job Execution

    划分 Stage当某个Action操作触发计算,向DAGScheduler提交作业时,DAGScheduler需要从RDD依赖链的末端出发,遍历整个RDD依赖链,划分Stage,并且决定Stage之间的依赖关系。Stage划分是以Shuffle依赖为依据,当某个RDD运算需要将数据进行Shuffle时,这个包含了Shuffle依赖关系的RDD将被用来作为输入信息,构建一个新的Stage,由此为依据划分Stage,可以确保有依赖关系的数据能够按照正确的顺序得到处理和运算。以GroupBy为例...…

  149. MAC 常用快捷键与命令

    常用快捷键# 所有 F1 等按键需要配合 fn 键来使用,即 fn + F1# 显示桌面 :fn + F11# 剪切,先 Command + C 复制文件,然后到移动的位置, Command + Option(Alt) + V# 显示隐藏文件 :Command + Shift + .# IDEA 删除选中的行 Command + delete ; PyCharm Command + Y# 打开浏览器开发者模式 :Command + Option(Alt) + I# 锁屏 :Ctrl + C...…

  150. IDEA 常用快捷键和操作

    Reference 极客学院 - IntelliJ IDEA Keymap For MacPDF 下载可以打印出来 IDEA IntelliJIDEA_ReferenceCard VisualStudio Code keyboard-shortcuts-macOS keyboard-shortcuts-windows keyboard-shortcuts-linux 新的激活方法# 注册码http://id...…

  151. Gson笔记

    Gson笔记将Bean类转换成Json字符串val jsonStr = new Gson().toJson(bean)将Json字符串转换成对象// Scala 写法val beanObject = new Gson().fromJson(jsonStr,beanClass)// 例如:将json字符串转换成map对象(Scala写法)val map:Map[String,Object] = new Gson().fromJson(similarityJson, classOf[immu...…

  152. Linux 异常问题记录

    执行sudo命令时,出现如下错误sudo: /usr/libexec/sudoers.so must be only be writable by ownersudo: fatal error, unable to load plugins原因是/usr文件夹中的文件权限被更改了,重新给相关文件赋予4755的权限,4代表其他用户执行文件时,具有与所有者相同的权限chown root:root /usr/bin/sudo chmod 4755 /usr/bin/sudo chmod 4...…

  153. Linux 常用命令以及简介

    前言最近在学习大数据,少不了和linux打交到,下面是半年来使用过的linux相关的命令,想起来的就整理了一下,以供查阅,并督促自己时常整理所学知识。也可以帮初学者梳理一下~基础概念# [用户名@主机名 当前文件夹],`$`代表普通用户[[email protected] zhangqiang]$ # ~ 代表当前用户的根目录,`#`代表超级用户[[email protected] ~]# 基础命令和工具man & info查看命令的具体使用方法和说明# 如果对当前命令不是特别清楚它的用法man [comm...…

  154. Local Git Repository

    用 yum 安装 git,并配置 IDEA 上传项目到本地 git 库中升级yum系统(当时未升级)yum update卸载旧版本git(如果有的话)yum remove git -y 安装相关的依赖包yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker# -bash: wget: command not found 解决方法yum -y i...…

  155. MySQL修改字符集为utf8mb4

    前言utf8mb4是MySQL 5.5.3+支持的字符集查看当前字符集设置查看当前系统默认的字符集设置mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';+--------------------------+-------------------+| Variable_name | Value ...…

  156. Oracle

    启动Oracle实例 启动lsnrctl监听 启动数据库实例启动监听su - oracle# 查看启动状态lsnrctl status下面是未启动监听的状态LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 28-FEB-2018 15:53:05Copyright (c) 1991, 2014, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(P...…

  157. MySQL

    参考 Mysql Official Document Comment Syntax Mysql Download Repo卸载 MySQL卸载 yum 安装的 MySQL$ yum remove -y mysql*# 验证卸载情况,如果存在继续删$ rpm -qa | grep -i mysql# 删除其他相关文件$ rm -rf /var/lib/mysql$ rm /etc/my.cnf卸载 rpm 安装的 MySQL# 查询已经安装的 mysql 包$ rpm -qa | gr...…

  158. 正则表达式(转载)

    注:此篇文章是转载的,原文章出处 - https://deerchao.net/tutorials/regex/regex.htm简介和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求,但是代价就是更复杂编写一个简单的正则表达式:用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号-,最后是7或8位数字的字符串。0[0-9]{2,3}-[0-9]{7,8}入门假设你在一篇英文小说里查找hi,你可以使用正则表达式hi。通常,处理正则表达式的...…

  159. xlsx批量转换为csv

    用vb脚本实现批量转换xlsx文件为csv文件Sub SaveToCSVs() Dim fDir As String Dim wB As Workbook Dim wS As Worksheet Dim fPath As String Dim sPath As String fPath = "C:\Users\zhangqiang\Desktop\xlsx文件夹\" sPath = "C:\Users\zhangqiang\Desktop\csv文...…

  160. Sublime

    安装 Package Control的步骤1、Click the Preferences > Browse Packages… menu2、Browse up a folder and then into the Installed Packages/ folder3、Download Package Control.sublime-package from https://sublime.wbond.net/Package%20Control.sublime-package and...…

  161. SQL

    drop、truncate、delete区别delete执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志(redo 和 undo 表空间)中保存,以便进行进行回滚和重做操作。truncate则一次性地从表中删除所有的数据,并且不会把删除操作记录记入日志保存,因此无法通过 rollback 恢复。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。truncate后,这个表和索引所占用的空间会恢复到初始大小,delete操作不会减少表或索引所占用的空间,...…

  162. 朴素贝叶斯

    贝叶斯定理设\( X \)是代表一条数据(一个对象),由\( n \)个属性\( A_1,A_2,\ldots,A_n \)构成;\( H \)为某种假设,如数据\( X \)属于某个特定的类\( C \)。\( P(H|X)\) 是在已知\( X \)的几个属性下,\( X \)属于某个类\( C \)的概率。贝叶斯定理如下:\[ P(H|X) = \frac{P(X|H)P(H)}{P(X)} \]其中,\( P(H|X)\)是在条件\(X\)下,\(H\)的后验概率,\( P(H)...…

  163. 决策树

    基本概念分类是一种重要的数据分析形式,例如有一批教师家访的数据,要根据这些数据来将教师分成敬业的非敬业的两类,这个数据分析任务就叫做分类(classification)。分类需要构造一个叫分类器(classifer)的模型来预测类标号,例如教师敬业是0,非敬业是1。像这种只有有限个分类结果的分类,分类结果可以用离散值来表示,且值之间的次序没有意义。而如果你是要预测某顾客在某商场的一次购物要花多少钱,这种分析任务就属于数值预测(numeric prediction),它预测一个连续值或者有序...…

  164. Spark Job Submit

    spark各种模式下的提交方式以及配置参数说明使用下面的命令查看对应版本的提交参数详细说明spark-submit --helplocal模式下的提交模板SPARK_HOME/bin/spark-submit \ # 执行spark-submit脚本 # 指定提交jar包的主类 --class com.neusoft.client.xxxxxxxx \ # 4核cpu --master local[4] \ # jar包路径,对于Python应用,在此位置传入一个.py文件并...…

  165. HBase Shell

    基本操作# 安装完后可以在浏览器中输入下面的URL来测试安装是否成功:http://localhost:60010# hbase目录输出日志文件所在位置:$HBASE_HOME/logs/# hbase Usage$ hbaseUsage: hbase [<options>] <command> [<args>]Options: --config DIR Configuration direction to use. Default: ./con...…

  166. HBase Install

    下载download安装指定环境变量$ vim ~/.bash_profileexport HADOOP_HOME=/home/hadoop/hadoop-3.1.2export HBASE_HOME=/home/hadoop/hbase-2.0.5export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin$ . ~/.bash_profile$ vim $H...…

  167. HBase Basic

    参考HBase原理 - HBase内部探险HBase学习HBase 应用场景 推荐画像:特别是用户的画像,是一个比较大的稀疏矩阵,蚂蚁的风控就是构建在HBase之上 对象存储:我们知道不少的头条类、新闻类的的新闻、网页、图片存储在HBase之中,一些病毒公司的病毒库也是存储在HBase之中 时序数据:HBase之上有OpenTSDB模块,可以满足时序类场景的需求 时空数据:主要是轨迹、气象网格之类,滴滴打车的轨迹数据主要存在HBase之中,另外在技术所有大一点的数据量的车联网企业,...…

  168. Json 转 Bson

    MongoDB中是以Bson数据格式进行存储的,Json字符串没有办法直接写入MongoDB 可以将Json字符串转换成DBObject或者Document,然后写入MongoDB将Json字符转换成 DBObject(准确的说是BasicDBObject)Scala版本:import com.mongodb.DBObjectimport com.mongodb.casbah.{MongoClient, MongoCollection}import com.mongodb.util.JSO...…