04 2018 档案
摘要:一、文件读写 python的文件操作和C是兼容的 1.读文本文件 读文件操作如下: 其中"r"表示read,读文件,再使用read()方法就把文件内容读取出来了 和Java一样,操作文件需要close掉,并且强烈建议在finally中close,代码如下: 但是!Python这里又支持了with操作
阅读全文
摘要:一、异常处理 1.try...except...finally... 这个也就是Java里的try...cath..finally...了,直接看经典代码: 处理结果和意料是一样的: 同样,可以并列捕捉多个异常:(此外在except后还可以接else:来处理没有异常) 当然,以上的异常都是继承自Ba
阅读全文
摘要:一、使用__slots__限制属性绑定 动态绑定实例的方法: 但是这样,"new出来"的实例就可以为所欲为的绑定任意属性了。 Python中提供了__solts__来限制属性绑定,这样就只能动态绑定指定的属性了! // 更多详细限制,不在此处赘述 二、使用@property 上一章已经讲到,定义的属
阅读全文
摘要:一、概述 老生常谈了,万物皆对象。Python作为一门面向对象的语言,也不例外 直接看一个简单的类定义和实例化类的示例: // pass表示什么也不做 二、类和实例 这在Java等OOP语言中也很常见,这里不再赘述:类是抽象的模板,实例是具体的对象 定义类通过class关键字,后面跟类名,并在类名后
阅读全文
摘要:在Python中,一个.py文件就称之为一个模块(Module)。(例如main.py就称之为main模块) 为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。 每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的(使用pycharm建
阅读全文
摘要:更多实例:参考:https://blog.csdn.net/u013398034/article/details/78701714 一、高阶函数 1.可以通过变量指向函数,达到类似别名的效果: 2.函数的参数可以是函数,也就是函数可以作为一个入参 以下介绍几个高阶函数 map、reduce 这两个函
阅读全文
摘要:一、切片 对于取指定索引的值,python提供了切片来简化傻傻的循环 其他诸如负数之类也是一如既往的支持的 更多切片操作,参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017269965565856 二、迭代 普通遍历可以使用循环 遍历d
阅读全文
摘要:一、概述 python和其他高级语言一样,支持函数 注意和scala不一样,结果必须使用return,否则默认return None!这和scala最后一个值作为返回是不一样的! 二、函数调用 和其他语言一样,写出函数名,传入合适的参数即可,例如调用内置函数abs: 函数支持别名: 如果传入了错误的
阅读全文
摘要:一、基本语法 1.行和缩进 Python中,不使用括号来表示代码的类和函数定义块或流程控制。 参考:https://www.w3cschool.cn/python3/python3-basic-operators.html 官方中文文档参考:https://docs.python.org/zh-cn
阅读全文
摘要:一、概述 与IDEA同一家——Jetbrains出品的IDE,强大之处不再赘述 二、安装 点击下载一个合适的版本 参考网友的激活方式激活:https://blog.csdn.net/u014044812/article/details/78727496 这里就使用简单的license server:
阅读全文
摘要:一、概述 推荐路神的ES权威指南翻译:https://es.xiaoleilu.com/010_Intro/00_README.html 官网:https://www.elastic.co/cn/products/elasticsearch 精品博文:https://blog.csdn.net/la
阅读全文
摘要:一、概述 1.logstash是什么 根据官网介绍: Logstash 是开源的服务器端数据处理管道,能够同时 从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(我们的存储库当然是 Elasticsearch。) //属于elasticsearch旗下产品(JRuby开发,
阅读全文
摘要:前一篇中数据源采用的是从一个socket中拿数据,有点属于“旁门左道”,正经的是从kafka等消息队列中拿数据! 主要支持的source,由官网得知如下: 获取数据的形式包括推送push和拉取pull 一、spark streaming整合flume 1.push的方式 更推荐的是pull的拉取方式
阅读全文
摘要:一、概述 1.什么是spark streaming Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, fault-tolerant stream processi
阅读全文
摘要:一、SparkSQL结合hive 1.首先通过官网查看与hive匹配的版本 这里可以看到是1.2.1 2.与hive结合 spark可以通过读取hive的元数据来兼容hive,读取hive的表数据,然后在spark引擎中进行sql统计分析,从而,通过sparksql与hive结合实现数据分析将成为一
阅读全文
摘要:一、概述 1.什么是sparkSQL 根据官网的解释: Spark SQL is a Spark module for structured data processing. 也就是说,sparkSQL是一个处理结构化数据的组件 更多的介绍,可以参见官网或者w3c:https://www.w3csc
阅读全文
摘要:一、概述 1.kettle是什么 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。 更多介绍,参考kettle中文网
阅读全文
摘要:一、JdbcRDD与关系型数据库交互 虽然略显鸡肋,但这里还是记录一下(点开JdbcRDD可以看到限制比较死,基本是鸡肋。但好在我们可以通过自定义的JdbcRDD来帮助我们完成与关系型数据库的交互。这点和Hadoop需要借助sqoop等工具进行是有优势的!) 给出一个demo的参考链接:https:
阅读全文
摘要:一、自定义分区 1.概述 默认的是Hash的分区策略,这点和Hadoop是类似的,具体的分区介绍,参见:https://blog.csdn.net/high2011/article/details/68491115 2.实现 // 与Hadoop相通,不再赘述 二、自定义排序 基本上就是结合之前的隐
阅读全文
摘要:一、RDD概述 1.什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时
阅读全文