SAS的数据导入导出大法
正所谓巧妇难为无米之炊,数据分析首要的问题是数据的获取。 SAS 作为老牌的统计软件发展至今,已经集成了丰富的数据获取与管理功能组件。本章我们就SAS如何获取数据做重点介绍,并顺带介绍 SAS 如何导出数据文件。
31 读取对象与读取方式
说到数据读取这个问题,我们可以从 SAS 读取的对象来说 , 当然也可以从读取的方式来说。从 SAS 读取的对象来说,我们可以把外部数据文件归为四类。
(1)数据库管理系统(Data
Base Management System, DBMS)数据文件,市面的DBMS 非常之多,常见的如 DB2、 Sybase、 mySQL、
MS SQL Server、 Oracle、 Teradata 以及 Hadoop 等。
(2)单机文件(PC file),单机文件应是相对 DBMS 数据文件而言的,常见的单机数据文件包括 MS Access、 MS Excel、 Lotus、 DBF 以及大家更熟悉的 JMP、 SPSS、Stata、 Paradox 等软件的数据文件。
(3)平面文件(Flat
file),这是一种记录间没有结构关系的文件,一个 Flat file 既可以是纯文本文件 (Plain text
file),也可以是二进制文件 (Binary file),对于我们而言,最常见的是纯文本 TXT 文件和 CSV 文件。
(4)流式数据(Instream data),即 SAS 程序中 DATA步里 DATALINES语句后的数据行。
从 SAS 读取的方式来说,笔者总结为 7 类(更准确地讲,应该是 SAS 和外部数据交互的方式,因为不仅仅读入,还有导出等其他交互 *** 作)
(1) LIBNAME 语句, LINAME 语句其实是动用了我们前面提到的数据库引擎来实现 SAS 与其他数据库文件的互通,这是 SAS 获取外部数据库文件最为快速、直接的方式。
(2) SQL 直通设施(SQL pass-through facility),这是直接在 SAS 会话中使用其原生 SQL 语法的方式。
(3) ACCESS/DBLOAD 过程,这是间接访问外部数据库数据文件的方式,不过 SAS已不再推荐。
(4)
IMPORT/EXPORT 过程,前面的三种方式都是包含在 SAS/ACCESS 模块中的, IMPORT/EXPORT 过程则是 Base
SAS 与外部数据集沟通的方式,当然我们在利用IMPORT/EXPORT 过程时,如果安装且拥有 SAS/ACCESS
模块的权限,能够支持的数据类型会更丰富。
(5) INFILE+INPUT 语句,这是通过 DATA 步编程的方式读取外部数据或者流式数据。
(6) INPUT+DATALINES 语句,这是通过 DATA 步编程的方式读取流式数据。
(7) IO 函数,通过输入输出函数打开数据文件,这是一种比较少见的方式
32 数据读取策略
在实际工作中,我们的思维模式通常是碰到一种数据,然后思考采用何种方式读入。因此,笔者将数据类型和读入方式做一个综合,从需求出发找解决方法,即从数据类型出发,总结可用的读入方式,并推荐合适的读入方式。具体见表 3-1 的总结。
完 谢谢观看
1hadoop有三个主要的核心组件:HDFS(分布式文件存储)、MAPREDUCE(分布式的计算)、YARN(资源调度),现在云计算包括大数据和虚拟化进行支撑。
在HADOOP(hdfs、MAPREDUCE、yarn)大数据处理技术框架,擅长离线数据分析
Zookeeper 分布式协调服务基础组件,Hbase 分布式海量数据库,离线分析和在线业务处理。
Hive sql 数据仓库工具,使用方便,功能丰富,基于MR延迟大,可以方便对数据的分析,并且数据的处理可以自定义方法进行 *** 作,简单方便。
Sqoop数据导入导出工具,将数据从数据导入Hive,将Hive导入数据库等 *** 作。
Flume数据采集框架,可以从多种源读取数据。
Azkaban对 *** 作进行管理,比如定时脚本执行,有图形化界面,上传job简单,只需要将脚本打成bao,可直接上传。
2hadoop的可以做离散日志分析,一般流程是:
将web中的数据取过来通过flume,然后通过预处理mapreduce,一般只是使用map就可以了,就是将数据中没有用处的数据去除掉,将数据转换比如说时间的格式,Agent的组合,并将数据进行处理之后以固定格式输出,由Hive处理,Hive是作用是将数据转换出一个表,RTL就是写SQL的一个过程,将数据进行分析,然后将数据报表统计,这个时候使用的是pig数据分析hive一般作为库,pig做分析,我没有使用pig,因为感觉还没有hive的HQL处理方便,最后将含金量最大的数据放入到mysql中,然后将mysql中的数据变为可视图化的工具。
推荐的使用:当我们浏览一各网页的时候,将数据的值值传递给后台保存到log中,后台将数据收集起来,hadoop中的fiume可以将数据拿到放入到HDFS中,原始的数据进行预处理,然后使用HIVE将数据变为表,进行数据的分析,将有价值的数据放入到mysql,作为推荐使用,这个一般是商城,数据的来源也是可以通过多种方式的,比如说隐形、js、日志等都可以作为采集数据的来源。
3hadoop中的HDFS有两个重要的角色:NameNode、datanode,Yarn有两个主要的主角:ResourceManager和nodeManager
4分布式:使用多个节点协同完成一项或者多项业务功能的系统叫做分布式系统,分布式一般使用多个节点组成,包括主节点和从节点,进行分析
5mapreduce:是使用较少的代码,完成对海量数据的处理,比如wordCount,统计单词的个数。
实现思想:将单词一个一个的遍历,然后将单词加1处理,但是这是集群,那么就每个节点计算自己节点的数据,然后最后交给一个统计的程序完成就可以了,最后将单词和结果输出。
我从谷歌上找到的说明是,atlas没有支持到hive内部表(managed table)的lineage,只有External修饰的表才能生成血缘。但是解决方案我也没找到啊。。。
网页链接
sqoop安装和简单实用
运行环境 centos 56 hadoop hive
sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具,手册地址:>
以上就是关于sas几百列怎么导出全部的内容,包括:sas几百列怎么导出、hadoop作用、apache atlas使用import-hive.sh导入hive历史元数据后没有lineage,并且报错等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)