2022-11-08 08:05来源:m.sf1369.com作者:宇宇
pyspark读写dataframe
1. 连接spark
2. 创建dataframe
2.1. 从变量创建
2.2. 从变量创建
2.3. 读取json
2.4. 读取csv
2.5. 读取MySQL
2.6. 从pandas.dataframe创建
2.7. 从列式存储的parquet读取
2.8. 从hive读取
2.9.从hdfs读取
3. 保存数据
3.1. 写到csv
3.2. 保存到parquet
3.3. 写到hive
3.4. 写到hdfs
3.5. 写到mysql
1. 连接spark2. 创建dataframe2.1. 从变量创建2.2. 从变量创建2.3. 读取json2.4. 读取csv2.5. 读取MySQL2.6. 从pandas.dataframe创建2.7. 从列式存储的parquet读取2.8. 从hive读取2.9.从hdfs读取直接使用read.csv的方法即可。 3. 保存数据3.1. 写到csv3.2. 保存到parquet3.3. 写到hive3.4. 写到hdfs3.5. 写到mysql
这个是文件编码不一致造成的,你用记事本打开CSV文件,选“另存为”,在下方的保存按钮旁边有一个“编码”,选择utf-8或是和你mysql的文件编码即可。
dgdkh.jfkjl5465*2132
编码问题,有些网站下载的CSV是UTF-8格式的,EXCEL通常只能识别GBK格式的,可以用记事本打开文件,然后另存为时编码改成ANSI,保存类型选择所有文件,文件名用原来的名称就可以。
Kudo是一个列式存储的用于快速分析的NoSQL数据库,提供了类似SQL的查询语句,与RDBMS十分类似,有**PRIMARY KEY **,基于主键查询而不是HBase的RowKey
低延迟随机存取
与其他大数据数据库不同,Kudu不仅仅是一个文件格式。行访问达到毫秒级延迟,支持C++ JAVA, API PyThon API 拥有简单好用的API
融会贯通入Hadoop生态系统
你可以使用Java Client实时导入数据,同时也支持Spark(运算) impala(分析工具,比Hive快) MapReduce HDFS HBase 很容易从HDFS中获取数据,占用内存小于1G
列式存储有利于编码和压缩,数据比使用Parquet压缩还省空间。这样的高压缩,降低了数据的IO,为计算服务。使用如laze data这样的技术,使得超高速成为可能
分布式和容错机制
Kudu通过把tables切分成tablets,每个表都可以配置切分的哈希,分区和组合
Kudu使用了Raft来复制给定的操作,保证了数据同时存储在两个节点上,因此不村子单点故障。
一、IPSec
添加屏蔽ICMP的规则:
IP安全策略—管理IP筛选器表和筛选器操作—管理IP筛选器列表—添加—起个名称(比如:)---添加—下一步—源地址—任何IP地址—目标地址—我的IP地址—选择协议类型—ICMP—完成。
IP安全策略—管理IP筛选器表和筛选器操作—管理筛选器列表—添加—下一步—名称(比如:)—阻止—完成。
IP安全策略—创建IP安全策略—下一步—名称(比如:)--激活默认响应规则—Winxp默认值—完成-规则—添加—下一步—此规则不指定隧道—所有网络连接—Winxp默认值—IP筛选器列表—“ICMP”—“Block”—下一步—完成。
二、路由和远程访问:
IP路由选择—常规—指定的网卡—输入筛选器—添加—协议—ICMP—类型8—编码0—接受所有除符合下列条件以外的数据包。
通过实验发现路由和远程访问的级别要高于IPSec,也就是说当两个设置发生冲突时,系统将以路由和远程访问的设置为准。
三、通过TTL简单关闭ICMP回应(转)
很多人问起如何在Windows xp中关闭ICMP的回应,以前我采取的办法是使用IPSec来对ICMP进行验证,今天偶尔作了一个试验,与大家share一下!
Client:192.168.7.89
Server:192.168.7.40
修改前:
C:\scripts>ping 192.168.7.40
Pinging 192.168.7.40 with 32 bytes of data:
Reply from 192.168.7.40: bytes=32 time<10ms TTL=128
Reply from 192.168.7.40: bytes=32 time<10ms TTL=128
Reply from 192.168.7.40: bytes=32 time<10ms TTL=128
Reply from 192.168.7.40: bytes=32 time<10ms TTL=128
修改注册表,把DefaultTTL改成63,ping的结果
C:\scripts>ping 192.168.7.40
Pinging 192.168.7.40 with 32 bytes of data:
Reply from 192.168.7.40: bytes=32 time<10ms TTL=63
Reply from 192.168.7.40: bytes=32 time<10ms TTL=63
Reply from 192.168.7.40: bytes=32 time<10ms TTL=63
Reply from 192.168.7.40: bytes=32 time<10ms TTL=63
修改注册表,把DefaultTTL改成0,ping的结果
C:\scripts>ping 192.168.7.40
Pinging 192.168.7.40 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 192.168.7.40:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
而在192.168.7.40上,ping外面没有问题,但是不能对外提供服务了,同时,自己干什么也都不行了,就只能Ping了,嘿嘿,自己玩玩吧~(建议改成255,Linux,Solaris的好像大多是这个值,记得有人写过通过TTL来判断操作系统的,呵呵,骗骗人玩:)
Hive: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
SubKey: DefaultTTL
Value: REG_DWORD 1 - 255
Default: 128
改了以后要Reboot才会生效哦~
(注:该方法是给对方提供一个错误的信息,并不是真正屏蔽了ICMP包,文章来源:Adam)
四、在ISA里面设置:
关闭Ping(ICMP):IP Packet Filters—起名--block packet transmission—predefine—icmp ping query—default IP address for each external on the ISA server computer—all remote computer—完成。
五、使用个人防火墙软件:
一般的防火墙软件都会提供关闭ICMP的功能,只是有的强一些,有的弱一些,比如:天网、绿色警戒、中国墙、Norton、Etrust Wall、Zone Alarm、Black Ice、冰盾等等等等,专业的就更别说了。
可见,关闭ICMP协议的方法还是很多的。(本人用的是防火墙,瑞星的,效果还行!现在一般把系统补丁打好,防火墙杀毒软件都及时更新就没有问题的!)
工具/原料
excel
电脑
方法/步骤
1、首先在电脑桌面上新建一个excel表格,然后打开新建的表格。
2、打开表格后,在excel表的菜单栏中点击【文件】,然后在文件的列表中点击【打开】选项。
3、点击打开后就弹出一个文件打开的对话框,在对话框中找到已损坏的excel文件,选中该文件,然后点击对话框下方“打开”按钮旁边的下拉箭头。
4、打开下拉箭头之后,我们可以看到一个列表,在列表中点击选择最后一项【打开并修复】。
5、点击“打开并修复”之后会弹出一个如图所示的询问对话框,在该对话框上点击选择【修复】。
6、点击“修复”后会看到如图所示的对话框,点击对话框右下角的【关闭】,关闭窗口。
7、关闭窗口后,我们可以看到被损坏的excel表就被修复好了。
数据分析这算是一个比较大的一个框架,单从字面意思来讲就是从数据中提取有用的规律或背后的逻辑。
工作中数据分析的职能主要分为以下6个步骤:
数据收集
数据清洗
数据储存
指标计算
数据统计分析与建模
数据可视化
第一步数据收集:在前期我们数据尚未形成特定的体系的时候亦或者是我们的业务正在进行的时候,需要我们通过各种各样的途径去获取数据。数据收集的方法多种多样,其中可以用程序自动收集(数据埋点、网络爬虫、ERP或CRM系统自动生成等)、手工统计(Excel统计)、第三方网站提取(通过公开数据网站下载,API等)等诸多方法,方法的选择跟随业务形态进行。
第二步数据清洗:收集来的数据是脏数据,需要通过数据清洗,也就是取其精华去其糟粕,这样的数据才是我们能够正常使用的数据。这一步的操作主要使用的是正则表达式进行数据清洗,收集来的数据各种格式都有,需要转码成特定的格式以及编码。
第三步数据存储:由于现在的公司数据越来越大,互联网时代已经从IT转变为DT的时代,现在每个公司的业务数据都是呈现几何倍数的增长,那么在存储数据的时候肯定不可能还用以前那种用纸笔记录的时代。现在对于小数据量的公司一般也是用Excel文件进行数据存储,许多公司以及采用数据库产品进行数据存储,市面也有很多性能很好的数据库产品,例如Oracle、MySQL、SqlServer,现在对大数据还专门有对应的hive数据仓库产品。这些产品都很好用,并且部分还是开源产品。就我们公司而言,之前使用的Oracle和MySQL以及SqlServer数据库,目前因为业务线条的调整,已经将数据从单一的数据库转向hive数据仓库存储,更方便了技术、业务、分析师等角色对数据的应用提取。
第四步指标计算:在进行指标计算之前,需要数据分析师建立当前部门的KPI指标,对应着业务部门针对不同的业务场景反馈出业务好坏的数据与规则。这一步繁杂而持续,并且可能这项工作会贯穿整个数据分析生涯。什么是指标?指标就是衡量目标的方法,比如商品管理常用的库存周转率、毛利率等,运营常看的路径转换,maketing常看的ROI等等,对应的指标反映出不同的业务场景的好坏,随着业务的变换,企业阶段的变换,指标也会一直在跟随着变换。
第五步数据统计分析与建模:这个环节是整个数据分析流程中最有意思的一个环节,没有之一。相比于之前的环节,在此环节你将会面临各种各样的挑战。什么假设检验,什么线性回归、什么特征工程、什么贝叶斯等都会遇到,在这里你将会看到各种数据背后的逻辑以及数据所产生的价值。并且在数据分析的过程中可能会遇到第二步的数据清洗过程,处理缺失值、处理异常值等。
第六步数据可视化:也就是数据展现,需要将第五步统计分析及建模的结果使用图的形式体现出来,俗话说字不如表,表不如图。市面上使用的比较多的数据可视化产品主要是Tableau、PowerBI、finebi、PPT等几种。其中前三种主要是呈现交互式表格,也就是存储于线上的报表,而PPT主要是以报告的形式呈现。
现在的数据分析可按照职能简单划分为几个方向:
商业数据分析师
数据挖掘工程师
大数据开发工程师
以上几种是当前的招聘时长相对比较常见的几种岗位,各岗位之前各有不同。商业数据分析师主要是以业务为导向,将数据应用到企业的决策中,主要的工具是Python、R、Excel、SPSS、tableau、PowerBI等;数据挖掘工程师比较侧重技术方向,主要反欺诈、垃圾邮件识别等数据应用,主要的工具是Python、Java、C、C++等;大数据开发工程师主要负责搭建数据平台,利用hadoop、hive、spark、Python、Java、C、C++等工具开发适合公司数据流的数据平台。数据分析是一个目前为止比较新兴的岗位,因此大多数人都是在不断的学习改进。
以上为我的一些拙见,有什么不足的地方欢迎补充交流。