大数据结构总览
大数据结构大数据可以分成五个层次 数据收集:将数据从数据源收集到数据存储层, 常用的组件有关系型, 非关系型, 分布式消息队列三种 关系型: Sqooq/Canal, 连接MySQL这种关系型数据库和Hadoop之间的桥梁, Sqool可以全量将数据库中的数据导入到Hadoop中, Canal则能实现增量的导入 非关系型: Flume, 流式数据收集, 比如日志等数据, 经过ETL以后导入到Hadoop中 分布式消息队列: [[Kafka]], 常用作消息总线, 有分布式的高容错的设计, 适配大数据场景 数据存储主要由分布式文件系统和分布式数据库组成 分布式文件系统: HDFS, Hadoop分布式文件系统, 有强大的容错机制, 社区开发了很多种文件格式 分布式数据库: HBase, 构建在HDFS之上的分布式数据库, 提供结构化和半结构化的数据库, 支持列无限拓展 资源管理和服务调度 YARN: 统一资源管理与调度系统, 能够管理集群中的各种资源, 并按照一定策略分配给上层的各类应用. 同时支持灵活的配置, 允许用户按照队列的方式组织和管理资源, 且每个队列的...
如何学习一门语言(以scala为例)
简介这个章节会是我对于如何学习一门语言的方法论的探索, 也是我面临着要学习从来没有接触的语言scala的过程的记录(并不是完全陌生, 有着Java的底子在, 而scala是个同样运行在JVM上的语言) 学习的过程 我们需要掌握哪些知识可以说我们“学会”了, 又用什么标准来衡量我们已经”掌握“了, 可以迈向下一个阶段, 如果你要学习一门语言, 你可以使用下面的阶段清单来去评估自己所处的阶段和去补足自己 特性熟悉阶段 我在这部分试图给出来一个完整的check list供查漏补缺, 但是这些只是一些不同语言基本都会提供的共性部分, 每个语言都会有自己的差异化的特性, 这部分的特性需要自己查找官方的文档来去补充(这部分的核心特征往往会是这个语言存在的理由) 推荐的资料 官方的文档: 官方往往会提供一个简明但是又足够概括核心特性的教程 这个阶段你需要知道 语言的基本运行环境 运行起来这个语言需要的基本的环境 基本的语法 类型的详细信息(强弱类型, 基本类型, 引用类型, 占用大小, 如何声明等) 类型推断 类型转换, 隐式转换的规则 运算符 函...
Scala基础语法
Scala运行需要配置Scala是一门运行在JVM上的语言, 和Java相同会被编译成字节码文件, 也是出于这样的机制, Scala能无缝调用Java的原生基础库, 例如IO, 集合等. scalac: 编译器 scala, scala-cli: CLI工具和工具包(能通过scala run来编译 + 执行, 也可以通过scala命令进入到命令行交互模式) sbt: scala build tool scalafmt: scala formatter Scala的语法基础基础中的基础 val声明不可变对象, var声明可变对象 类型只有”类”, 不存在基础类型, 有自动类型推断, 是强类型 函数通过 func(args: Type) => ...语法声明, 可以匿名 方法允许多参数列表 函数和方法最后一个表达式的的值就是返回值 class通过new实例化, object相当于单例类, 会直接初始化生成 trait相当于接口, case class是VO对象, 能直接实例化不用new关键字 1234567891011121314151617181920212223242...