- ?
大数据加速医药研发
邢三娘
展开
来源:人民网-人民日报
最近,德国默克公司与专注于医药研发的大数据信息平台中国药渡签署战略合作协议,旨在为全球药物研发人员提供更便捷高效的“一站式信息解决方案”。德国媒体称,虽然还处于起步阶段,但大数据解决方案将给医药行业带来革命性的变化,尤其是在缩短研发周期、降低研发成本、处理患者数据、模拟疾病模式等方面。
目前,全球药物研发普遍面临着成功率低、研发生产周期长的瓶颈。一款新药从开始研发到投入市场,至少需要10―15年。许多正在研发的抗癌靶向药虽已取得一定疗效,但仍需数年才能上市,因为还要进行大量临床试验来验证其安全性和有效性,并进一步优化。漫长的研发周期导致抗癌靶向药价格不菲。据《福布斯》杂志的一项研究显示,单一药物的开发和营销成本有时高达3.5亿美元。
随着大数据和数字技术渗透到生产制造的各个环节,医药行业也开始借助这一技术,力图更经济、更有针对性地开发药物。过去,制药公司主要对临床试验数据进行系统分析,这类“纯数据”能以一套标准化的方式解读。而医疗记录等非结构化数据产生于医药生产的各个流程,一些关键数据甚至只能在研究人员手写的实验室记录中找到。大数据则可以收集和解读非结构化数据,从而优化生产流程。比如,拜耳公司依靠数据分析,在去年底推出了既重点突出又多样化的开发战略,将50多个项目几乎同期投入临床开发,最大限度地利用了研发潜力。
新药研发的相关数据量庞大,每一个成功上市的药物背后都有上百万页的文献资料。大数据技术有助于从海量临床记录和医学期刊中,帮助研究人员“站在巨人的肩膀上”发现创新的机会,提高成功率。而对一些突发、传染性强、死亡率高的疾病,更是需要迅速找到有效抑制药物。大数据分析可以在全球范围内更快地检测疾病模式,加速新药的出现。
在大数据时代,患者数据比以往更有价值。在2017年德国杜塞尔多夫国际医疗器械展览会上,结合大数据迈入“医生4.0”“病患4.0”时代成为主题。研究人员通过移动终端从病患处实时提取药物测试数据,进行数据共享、协作开发。未来,这种打破数据孤岛的研发理念,将进一步推动医疗行业朝着以病患为本的方向发展。正如德国联邦医学协会信息通信委员会主席弗兰茨?巴特曼所畅想的那样,“患者的智能手机将是21世纪的听诊器。”
需要指出的是,虽然大数据大有可为,但大数据不会因其数据量多就更可靠,与经过严谨科学试验获得的“小数据”相比,大数据可以是有力的补充,但不能替代“小数据”。否则,就像流感趋势系统一样,人们如果仅凭关键词搜索数据来预测流感趋势,完全绕过以往的就医统计数据和病理研究,最终只能是贻误病情。
《 人民日报 》( 2018年09月07日 22 版)
- ?
大数据开发不难?快pick这五点
白玫瑰
展开
在这个数据时代,对于大数据,应该没有多少人会感到陌生。不过非技术人员对于大数据的各项流程可能没有很清晰的认知,尤其是对大数据的基础实现步骤中的大数据开发的难度,更是一头雾水。
在此,小编为大家总结一下大数据开发的难点。
大数据的开发主要分为四个阶段:数据采集、数据汇聚、数据转换和映射、数据应用。四个阶段中,每个阶段都有它的难点。
数据采集
数据采集分为两种,一种是线上采集,一种是线下采集。程序员一般是以线上采集的方式进行数据采集,他们一般是通过爬虫以及抓取,或者通过已有应用系统的采集。在这个阶段中,依托python或者nodejs制作的爬虫软件,使用ETL工具或者自定义的抽取转换引擎,编造一个大数据的采集平台,从文件、数据库、网页等专项获取数据。
数据采集的难点在于多数据源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。还有本地文件、excel统计文档、甚至是doc文件。将他们规整的、有方案的整理进大数据流程中也是必不可缺的一环。
数据汇聚
数据汇聚这一阶段可以说是整个大数据流程中最为关键的一环。在这个阶段中,可以对数据进行标准化,可以对数据进行清洗与合并;还可以将数据进行存档。在将确认可用的数据经过监控流程,进行整理归类之后,产出的数据便是企业的数据资产。
而数据汇聚的难点在于如何将数据标准化,例如表名标准化、表的标签分类、表的用途、数据的量等。
数据转换和映射
在数据汇聚之后,接下来就需要考虑,汇聚产出的数据资产该如何提供给其他企业使用?数据该如何应用?这时候就需要将数据资产中的数据表转换成能够提供服务的数据。
这一阶段的难点与数据汇聚的难点类似,不过相对简单一些。
数据应用
这个阶段相对于前三个阶段来说,是相对简单的一个阶段。数据应用的方式有很多,主要分为对内以及对外。可以通过restful API提供给用户,或者提供流式引擎 KAFKA 给应用消费, 或者直接组成专题数据,供自己的应用查询。
难点在于,必须在前期拥有大量的数据资产。
除了这四个阶段中的难点之外,还有一个比较大的难点,那就是监控!开发人员在采集数据的过程中,要是没注意,大量采集数据,没有将无用的数据剔除,并且直连了数据库, 短期来看,这些问题比较小,可以矫正。 但是在资产的量不断增加的时候,这就是一颗定时炸弹,随时会被引爆,然后引发一系列对数据资产的影响,例如数据混乱带来的就是数据资产的价值下降,客户信任度变低。
- ?
大数据开发需掌握技术
绝悟
展开
大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算、高并发处理、高可用处理、集群、实时性计算等,汇集了当前IT领域热门流行的IT技术。
想要学好大数据需掌握以下技术:
1. Java编程技术
Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等,是大数据工程师最喜欢的编程工具,因此,想学好大数据,掌握Java基础是必不可少的!
2.Linux命令
对于大数据开发通常是在Linux环境下进行的,相比Linux操作系统,Windows操作系统是封闭的操作系统,开源的大数据软件很受限制,因此,想从事大数据开发相关工作,还需掌握Linux基础操作命令。
3. Hadoop
Hadoop是大数据开发的重要框架,其核心是HDFS和MapReduce,HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算,因此,需要重点掌握,除此之外,还需要掌握Hadoop集群、Hadoop集群管理、YARN以及Hadoop高级管理等相关技术与操作!
4. Hive
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行,十分适合数据仓库的统计分析。对于Hive需掌握其安装、应用及高级操作等。
5. Avro与Protobuf
Avro与Protobuf均是数据序列化系统,可以提供丰富的数据结构类型,十分适合做数据存储,还可进行不同语言之间相互通信的数据交换格式,学习大数据,需掌握其具体用法。
6.ZooKeeper
ZooKeeper是Hadoop和Hbase的重要组件,是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组件服务等,在大数据开发中要掌握ZooKeeper的常用命令及功能的实现方法。
7. HBase
HBase是一个分布式的、面向列的开源数据库,它不同于一般的关系数据库,更适合于非结构化数据存储的数据库,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,大数据开发需掌握HBase基础知识、应用、架构以及高级用法等。
8.phoenix
phoenix是用Java编写的基于JDBC API操作HBase的开源SQL引擎,其具有动态列、散列加载、查询服务器、追踪、事务、用户自定义函数、二级索引、命名空间映射、数据收集、行时间戳列、分页查询、跳跃查询、视图以及多租户的特性,大数据开发需掌握其原理和使用方法。
9. Redis
Redis是一个key-value存储系统,其出现很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便,大数据开发需掌握Redis的安装、配置及相关使用方法。
10. Flume
Flume是一款高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。大数据开发需掌握其安装、配置以及相关使用方法。
11. SSM
SSM框架是由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架。大数据开发需分别掌握Spring、SpringMVC、MyBatis三种框架的同时,再使用SSM进行整合操作。
12.Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,其在大数据开发应用上的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。大数据开发需掌握Kafka架构原理及各组件的作用和使用方法及相关功能的实现!
13.Scala
Scala是一门多范式的编程语言,大数据开发重要框架Spark是采用Scala语言设计的,想要学好Spark框架,拥有Scala基础是必不可少的,因此,大数据开发需掌握Scala编程基础知识!
14.Spark
Spark是专为大规模数据处理而设计的快速通用的计算引擎,其提供了一个全面、统一的框架用于管理各种不同性质的数据集和数据源的大数据处理的需求,大数据开发需掌握Spark基础、SparkJob、Spark RDD、spark job部署与资源分配、Spark shuffle、Spark内存管理、Spark广播变量、Spark SQL、Spark Streaming以及Spark ML等相关知识。
15.Azkaban
Azkaban是一个批量工作流任务调度器,可用于在一个工作流内以一个特定的顺序运行一组工作和流程,可以利用Azkaban来完成大数据的任务调度,大数据开发需掌握Azkaban的相关配置及语法规则。
16.Python与数据分析
Python是面向对象的编程语言,拥有丰富的库,使用简单,应用广泛,在大数据领域也有所应用,主要可用于数据采集、数据分析以及数据可视化等,因此,大数据开发需学习一定的Python知识。
- ?
毕业做大数据开发,工资真有这么高?(前方高能,全程干货)
勾践
展开
小编之前不是从事大数据技术开发,甚至从没有从事过IT相关技术。
后来冒然的进入了IT行业,还从开始就直接学习了大数据技术。小编现在想想都有点后怕啊。
用九哥现在领导(资深大数据架构师,曾在阿里巴巴服役近10年)的一句话说就是:大数据入行容易,进阶难!
为什么这么说呢?
因为,大数据处理数据的相关技术以及框架,相对于一些开发语言比较独立。重点在于大数据量的数据的处理分析能力和挖掘能力,而非编程的能力。所以,编程能力被无限弱化。
但并不是说,编程能力不重要。
如果你有Java开发经验或者python开发经验,那么你转行大数据会十分轻松。
虽然大数据生态圈里面的一些框架很好的封装了绝大部分的的函数和方法,但是一些业务逻辑比较复杂的方法还是需要进行代码手写的,这就比较考验个人的代码编程能力了。
前面为什么说大数据入行容易,进阶难呢?
容易就在于就代码能力要求不是十分严格,但是后期如果处理机器学期、人工智能等对个人能力要求就很高了,尤其是在算法上。
由于近两年政府的提倡和各大互联网公司不遗余力的宣传,大数据技术人才在国内现在炙手可热,薪水也水涨船高。初级人才往往在8-15K、中级人才往往在15-25K、高级往往25-50K、CDO工资不详。
高额的薪水吸引了很多人想要转行大数据行业。
那么,如果你是计算机、数学、统计等专业,又有一定的代码编程能力,小编觉得你还是可以尝试一下的哦。
- ?
大数据开发|MapReduce介绍
皮幼南
展开
1. MapReduce介绍
1.1 MapReduce的作用
假设有一个计算文件中单词个数的需求,文件比较多也比较大,在单击运行的时候机器的内存受限,磁盘受限,运算能力受限,而一旦将单机版程序扩展到集群来分布式运行,将极大增加程序的复杂度和开发难度,因此这个工作可能完成不了。针对以上这个案例,MapReduce在这里能起到什么作用呢,引入MapReduce框架后,开发人员可以将绝大部分工作集中在业务逻辑的开发上,而将分布式计算中的复杂性交由框架来处理。
可见在程序由单机版扩成分布式时,会引入大量的复杂工作。为了提高开发效率,可以将分布式程序中的公共功能封装成框架,让开发人员可以将精力集中于业务逻辑。而MapReduce就是这样一个分布式程序的通用框架。
1.2 MapReduce架构图
MapReduce 也采用了 Master/Slave(M/S)架构。它主要由以下几个组件组成 :Client、JobTracker、 TaskTracker 和 Task。下面分别对这几个组件进行介绍。
(1)Client
用户编写的MapReduce程序通过Client提交到JobTracker端;同时用户可通过Client提供的一些接口查看作业运行状态。在Hadoop内部用“作业” (Job)表示MapReduce程序。一个 MapReduce程序可对应若干个作业,而每个作业会被分解成若干个Map/Reduce任务(Task)。
(2)JobTracker
JobTracker 主要负责资源监控和作业调度。JobTracker 监控所有 TaskTracker 与作业Job的健康状况,一旦发现失败情况后,其会将相应的任务转移到其他节点;同时,JobTracker 会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器,而调度器会在资源出现空闲时,选择合适的任务使用这些资源。在Hadoop 中,任务调度器是一个可插拔的模块,用户可以根据自己的需要设计相应的调度器。
(3)TaskTracker
TaskTracker会周期性地通过Heartbeat将本节点上资源的使用情况和任务的运行进度汇报给JobTracker,同时接收JobTracker发送过来的命令并执行相应的操作(如启动新任务、杀死 任务等)。TaskTracker 使用“slot”等量划分本节点上的资源量。 “slot”代表计算资源(CPU、 内存等)。一个 Task 获取到一个slot 后才有机会运行,而Hadoop调度器的作用就是将各个TaskTracker上的空闲slot分配给Task使用。slot分为Map slot和Reduce slot 两种,分别供Map Task和Reduce Task使用。TaskTracker通过slot数目(可配置参数)限定Task的并发度。
(4)Task
Task 分为 Map Task 和 Reduce Task 两种,均由TaskTracker启动。从上一小节中我们知道,HDFS以固定大小的block 为基本单位存储数据,而对于MapReduce 而言,其处理单位是split。 split 与 block 的对应关系如下图所示。split 是一个逻辑概念,它只包含一些元数据信息,比如 数据起始位置、数据长度、数据所在节点等。它的划分方法完全由用户自己决定。但需要注意的是,split的多少决定了Map Task的数目,因为每个split会交由一个Map Task处理。
Map Task 执行过程如下图所示。由该图可知,Map Task 先将对应的split 迭代解析成一 个个 key/value 对,依次调用用户自定义的map() 函数进行处理,最终将临时结果存放到本地磁盘上,其中临时数据被分成若干个partition(分片),每个partition 将被一个Reduce Task处理。
Reduce Task 执行过程如下图所示。该过程分为三个阶段:
①从远程节点上读取Map Task 中间结果(称为“Shuffle阶段”);
②按照key对key/value 对进行排序(称为“Sort阶段”);
③依次读取
,调用用户自定义的 reduce() 函数处理,并将最终结果存到HDFS上(称为“Reduce 阶段”)。 MapReduce是一种并行编程模式,利用这种模式软件开发者可以轻松地编写出分布式并行程序。在Hadoop的体系结构中,MapReduce是一个简单易用的软件框架,基于它可以将任务分发到由上千台商用机器组成的集群上,并以一种可靠容错的方式并行处理大量的数据集,实现Hadoop的并行任务处理功能。MapReduce框架是由一个单独运行在主节点的JobTrack和运行在每个集群从节点的TaskTrack共同组成的。
主节点负责调度构成一个作业的所有任务,这些任务分布在不同的节点上。主节点监控它们的执行情况,并且重新执行之前失败的任务;
从节点仅负责由主节点指派的任务。
当一个Job任务被提交时,JobTrack接收到提交作业和其配置信息之后,就会配置信息等发给从节点,同时调度任务并监控TaskTrack的执行。
1.3 MapReduce程序运行演示
Hadoop的发布包中内置了一个hadoop-mapreduce-example-2.6.5.jar,这个jar包中有各种MR示例程序,可以通过以下步骤运行:
启动hdfs,yarn,然后在集群中的任意一台服务器上启动执行程序(比如运行wordcount):
hadoop jar hadoop-mapreduce-example-2.6.5.jar wordcount /wordcount/data /wordcount/out
2. MapReduce编程
2.1 编程规范
1) 用户编写的程序分成三个部分:Mapper,Reducer,Driver(提交运行mr程序的客户端)
2) Mapper的输入数据是KV对的形式(KV的类型可自定义)
3) Mapper的输出数据是KV对的形式(KV的类型可自定义)
4) Mapper中的业务逻辑写在map()方法中
5) map()方法(maptask进程)对每一个
调用一次 6) Reducer的输入数据类型对应Mapper的输出数据类型,也是KV
7) Reducer的业务逻辑写在reduce()方法中
8) Reducetask进程对每一组相同k的
组调用一次reduce()方法 9) 用户自定义的Mapper和Reducer都要继承各自的父类
10) 整个程序需要一个Drvier来进行提交,提交的是一个描述了各种必要信息的job对象
2.2 wordcount示例编写
需求:在一堆给定的文本文件中统计输出每一个单词出现的总次数
(1)定义一个mapper类
//首先要定义四个泛型的类型
//keyin: LongWritable valuein: Text
//keyout: Text valueout:IntWritable
public class WordCountMapper extends Mapper
{ //map方法的生命周期: 框架每传一行数据就被调用一次
//key : 这一行的起始点在文件中的偏移量
//value: 这一行的内容
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
//拿到一行数据转换为string
String line = value.toString();
//将这一行切分出各个单词
String[] words = line.split(" ");
//遍历数组,输出<单词,1>
for(String word:words){
context.write(new Text(word), new IntWritable(1));
}
(2)定义一个reducer类
//生命周期:框架每传递进来一个kv 组,reduce方法被调用一次
protected void reduce(Text key, Iterable
values, Context context) throws IOException, InterruptedException { //定义一个计数器
int count = 0;
//遍历这一组kv的所有v,累加到count中
for(IntWritable value:values){
count += value.get();
context.write(key, new IntWritable(count));
(3)定义一个主类,用来描述job并提交job
public class WordCountRunner {
//把业务逻辑相关的信息(哪个是mapper,哪个是reducer,要处理的数据在哪里,输出的结果放哪里……)描述成一个job对象
//把这个描述好的job提交给集群去运行
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job wcjob = Job.getInstance(conf);
//指定我这个job所在的jar包
// wcjob.setJar("/home/hadoop/wordcount.jar");
wcjob.setJarByClass(WordCountRunner.class);
wcjob.setMapperClass(WordCountMapper.class);
wcjob.setReducerClass(WordCountReducer.class);
//设置我们的业务逻辑Mapper类的输出key和value的数据类型
wcjob.setMapOutputKeyClass(Text.class);
wcjob.setMapOutputValueClass(IntWritable.class);
//设置我们的业务逻辑Reducer类的输出key和value的数据类型
wcjob.setOutputKeyClass(Text.class);
wcjob.setOutputValueClass(IntWritable.class);
//指定要处理的数据所在的位置
FileInputFormat.setInputPaths(wcjob, "hdfs://hdp-server01:9000/wordcount/data/big.txt");
//指定处理完成之后的结果所保存的位置
FileOutputFormat.setOutputPath(wcjob, new Path("hdfs://hdp-server01:9000/wordcount/output/"));
//向yarn集群提交这个job
boolean res = wcjob.waitForCompletion(true);
System.exit(res?0:1);
2.3 集群运行模式
1) 将mapreduce程序提交给yarn集群resourcemanager,分发到很多的节点上并发执行
2) 处理的数据和输出结果应该位于hdfs文件系统
3) 提交集群的实现步骤:
将程序打成JAR包,然后在集群的任意一个节点上用hadoop命令启动hadoop jar wordcount.jar cn.bigdata.mrsimple.WordCountDriver inputpath outputpath
- ?
干货丨23个适合Java开发者的大数据工具和框架
烧烤
展开
目前,编程人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂。根据外媒的一项调查报告,以下列出了Java程序员在过去12个月内一直使用的一些工具或框架,或许会对你有意义。
1、MongoDB--最受欢迎的,跨平台的,面向文档的数据库。
MongoDB是一个基于分布式文件存储的数据库,使用C++语言编写。旨在为Web应用提供可扩展的高性能数据存储解决方案。应用性能高低依赖于数据库性能,MongoDB则是非关系数据库中功能最丰富,最像关系数据库的,随着MongDB 3.4版本发布,其应用场景适用能力得到了进一步拓展。MongoDB的核心优势就是灵活的文档模型、高可用复制集、可扩展分片集群。
2、Elasticsearch --为云构建的分布式RESTful搜索引擎。
ElasticSearch是基于Lucene的搜索服务器。它提供了分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是比较流行的企业级搜索引擎。
3、Cassandra--开源分布式数据库管理系统,最初是由Facebook开发的,旨在处理许多商品服务器上的大量数据,提供高可用性,没有单点故障。
Apache Cassandra是一套开源分布式NoSQL数据库系统。集Google BigTable的数据模型与Amazon Dynamo的完全分布式架构于一身。于2008开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。
4、Redis --开源(BSD许可)内存数据结构存储,用作数据库,缓存和消息代理。
Redis是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
5、Hazelcast --基于Java的开源内存数据网格。
Hazelcast 是一种内存数据网格 in-memory data grid,提供Java程序员关键任务交易和万亿级内存应用。虽然Hazelcast没有所谓的‘Master’,但是仍然有一个Leader节点(the oldest member),这个概念与ZooKeeper中的Leader类似,但是实现原理却完全不同。同时,Hazelcast中的数据是分布式的,每一个member持有部分数据和相应的backup数据,这点也与ZooKeeper不同。
6、EHCache--广泛使用的开源Java分布式缓存。主要面向通用缓存、Java EE和轻量级容器。
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。主要特性有:快速简单,具有多种缓存策略;缓存数据有两级,内存和磁盘,因此无需担心容量问题;缓存数据会在虚拟机重启的过程中写入磁盘;可以通过RMI、可插入API等方式进行分布式缓存;具有缓存和缓存管理器的侦听接口;支持多缓存管理器实例,以及一个实例的多个缓存区域;提供Hibernate的缓存实现。
7、Hadoop --用Java编写的开源软件框架,用于分布式存储,并对非常大的数据集进行分布式处理。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算。
8、Solr --开源企业搜索平台,用Java编写,来自Apache Lucene项目。
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
9、Spark --Apache Software Foundation中最活跃的项目,是一个开源集群计算框架。
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
10、Memcached --通用分布式内存缓存系统。
Memcached是一套分布式快取系统,当初是Danga Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用。Memcached作为高速运行的分布式缓存服务器,具有以下的特点:协议简单,基于libevent的事件处理,内置内存存储方式。
11、Apache Hive --在Hadoop之上提供类似SQL的层。
Hive是一个基于Hadoop的数据仓库平台。通过hive,可以方便地进行ETL工作。hive定义了一个类似于SQL的查询语言,能够将用户编写的SQL转化为相应的Mapreduce程序基于Hadoop执行。目前,已经发布了Apache Hive 2.1.1 版本。
12、Apache Kafka --最初是由LinkedIn开发的高吞吐量,分布式订阅消息系统。
Apache Kafka是一个开源消息系统项目,由Scala写成。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。Kafka维护按类区分的消息,称为主题(topic)。生产者(producer)向kafka的主题发布消息,消费者(consumer)向主题注册,并且接收发布到这些主题的消息。
13、Akka --用于在JVM上构建高并发,分布式和弹性消息驱动应用程序的工具包。
Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。它已经成功运用在电信行业,系统几乎不会宕机。
14、HBase --开放源代码,非关系型,分布式数据库,采用Google的BigTable建模,用Java编写,并在HDFS上运行。
与FUJITSU Cliq等商用大数据产品不同,HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。
15、Neo4j --在Java中实现的开源图形数据库。
Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全事务特性的Java持久化引擎。
16、CouchBase --开源分布式的NoSQL面向文档数据库,针对交互式应用程序进行了优化。
如果以前没有NoSQL的使用经验,那么理解couchbase的时候关键有两点:延后写入和松散存储。该产品基于Apache CouchDB,并整合了GeoCouch(一个基于Erlang、紧密集成的地理空间索引系统,可支持LBS应用)。
17、Apache Storm--开源分布式实时计算系统。
Apache Storm 是一个能近实时地在数据之上运行用户代码片段的流式数据处理框架。它实际上是一系列连在一起的管道。通常用于简单的分析任务 ,诸如计算,以及清洗,使其常规化,并且准备摄入用于长期存储的数据。
18、CouchDB--开源的面向文档的NoSQL数据库,使用JSON存储数据。
CouchDB 是一个开源的面向文档的数据库管理系统,可以通过 RESTful JavaScript Object Notation (JSON) API 访问。CouchDB落实到最底层的数据结构就是两类B+Tree 。
19、Oracle Coherence--内存数据网格解决方案,通过提供对常用数据的快速访问,使企业能够可预测地扩展关键任务应用程序。
简单来说,Coherence仅支持Java,.NET和C++ API三个版本,这三个都是面向对象的语言,这也说明Coherence和应用开发的亲和性。
20、Titan--可扩展的图形数据库,优化用于存储和查询包含分布在多机集群上的数百亿个顶点和边的图形。
21、Amazon DynamoDB--快速,灵活的全面管理NoSQL的数据库服务,适用于任何规模的要求一致性,单位毫秒延迟的应用程序。
Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,提供快速而可预测的性能,能够实现无缝扩展。
22、Amazon Kinesis--AWS上的实时流式传输数据平台。
Web 应用程序、移动设备、可穿戴设备、行业传感器和许多软件应用程序和服务都可能生成大量的流数据(有时达到每小时数 TB),需要对其进行连续地收集、存储和处理。Amazon Kinesis 就是针对这种需求产生的。
23、Datomic--完全事务,云就绪,分布式数据库,用Clojure编写。
Datomic 是一个灵活的、基于时间因子的数据库,支持联合查询,具有弹性的可扩展性以及支持ACID事务性。Datomic 提供高可用的、分布式存储服务。
- ?
人工智能与大数据开发需要注意什么?
叶靖雁
展开
人工智能与大数据,越来越受瞩目,那在开发过程中,我们需要注意些什么?
一、你的数据未必可靠
在我们实际应用中,并不能确保我们的数据是完全可靠的。通常,都会出现各种各样的原因会来导致数据不可靠的因素:
1、用于开发的数据,会与实际情况下的数据分布有所差异。
2、你的数据集中会存在很多缺失的数据。事实上,除非是人为构造的数据集合,否则很难避免缺失数据问题的发生,如何处理数据缺失的问题是很有技巧的事情。实践中我们要么是干脆丢弃一部分残缺的数据,要么就是想办法计算一些数值去填补这些缺失值。无论哪种方法都可能导致应用结果的不稳定。
3、数据随时在变,数据库的表结构可能会变,数据定义也是可能会改变的。
4、你的数据或许没有被归一化。假设你可能在观察一组用户的体重,为了能够获得有效的结论,首先需要对每个体重的衡量单位进行归一化,是英镑还是公斤,不能混淆着用
5、你的数据可能并不适用于相应的算法。数据存在着各种各样的形式和规范,或者叫数据类型(data types),有些是数值化的数据,有些则不是。有些数据集合能被有序排列,有些则做不到。有些是离散化的数据(例如房间里的人数),另一些则是连续化的(例如气温或者气压等数据)
二、计算难以瞬间完成
完成任一人工解决方案的计算,都是需要一定的时间,也就是说方案的响应速度,对商业应用的成功起到了十分关键的作用。所以,不要天真的以为任何算法在所有数据集上都可以在规定时间内完成。
以搜索引擎为例,用户对结果返回的时长是有忍耐的限度的。如果用户等待的时间超过10秒,50%的用户会流失,如果等待时间超过1分钟,90%以上的用户会流失。在开发智能应用系统时,不能为了达到更好的算法精度而忽略系统运算和等待的时间,否则会导致整个产品的失败。
三、 数据的规模非常重要
当我们考虑智能应用时,数据规模是很重要的因素。数据规模的影响可以分为两点来考察:第一点是规模会影响应用系统的响应速度;第二点是在很大的数据集上的挖掘出有价值结果的能力会受到考验。
其次,使用更多的数据来训练的简单算法,比受制于维度诅咒(Dimension Curse)的复杂算法往往有好得多的效果。类似Google这样拥有海量数据的大型企业,优秀的应用效果不仅来自于精妙复杂的算法,也来自于其对海量训练数据的大规模分析挖掘。(达观数据 陈运文)
四、 不同的算法具有不同的扩展能力
我们不能假设智能应用系统都可以通过简单增加服务器的方法来扩展性能。有些算法是有扩展性的,而另一些则不行。
例如如果我们要从数亿的文章标题里,找出标题相似的各个组的文章,注意并不是所有的聚类算法此时都能并行化运行的,你应该在设计系统的同时就考虑可扩展性。有些情况下你需要将数据切分成较小的集合,并能够让智能算法在各个集合上并行运行。设计系统时所选择的算法,往往需要有并行化的版本,而在一开始就需要将其纳入考虑,因为通常围绕着算法还会有很多相关联的商业逻辑和体系结构需要一并考虑。
五、并不存在万能的方法
你可能听说过一句谚语“当你有了把榔头的时候,看什么东西都像钉子”,这里想表达的意思是:并不存在能够解决所有智能应用问题的万能算法。
智能应用软件和其他所有软件类似——具有其特定的应用领域和局限性。当面对新的应用领域时,一定要充分的验证原有方法的可行性,而且你最好能尝试用全新的视角来考察问题,因为不同的算法在解决特定的问题时才会更有效和得当(达观数据 陈运文)。
六、数据并不是万能的
就说机器学习,它也是需要从训练开始的,然后再逐步延伸到未知数据中。
例如若你已经对数据的分布规律有所了解,那么通过图模型来表达这些先验的知识会非常有效。除了数据以外,你还需要仔细的考虑,该领域有哪些先验知识可以应用,这对开发一个更有效的分类器会很有帮助。数据和行业经验结合往往能事半功倍。
七、模型训练的时间差异很大
在特定应用中,可能某些参数的微小变化就会让模型的训练时间出现很大的差异。例如在深度神经网络训练时就会有各种各样的参数调节的情况发生。
人们往往会直观地觉得调整参数时,训练时间是基本稳定不变的。例如假设有个系统是计算地球平面上任意两点之间的距离的,那么任意给出两个点的坐标时,计算时间差不多都是相同的。但在另一些系统里却并非如此,有时细微的调整会带来很明显的时间差异,有时差异甚至可以大到数小时,而不是数秒。
八、泛化能力是目标
机器学习实践中最普遍存在的一个误区是陷入处理细节中而忘了最初的目标——通过调查来获得处理问题的普适的方法。
测试阶段是验证某个方法是否具备泛化能力(generalization ability)的关键环节(通过交叉验证、外部数据验证等方法),但是寻找合适的验证数据集不容易。如果在一个只有几百个样本的集合上去训练有数百万维特征的模型,试图想获得优秀的精度是很荒唐的。
九、人类的直觉未必准确
在特征空间膨胀的时候,输入信息间形成的组合关系会快速增加,这让人很难像对中等数据集合那样能够对其中一部分数据进行抽样观察。更麻烦的是,特征数量增加时人类对数据的直觉会迅速降低。
例如在高维空间里,多元高斯分布并不是沿着均值分布,而是像一个扇贝形状围绕在均值附近,这和人们的主观感受完全不同。在低维空间中建立一个分类器并不难,但是当维度增加时,人类就很难直观的理解了。
十、要考虑融入更多新特征
你很可能听说过谚语“进来的是垃圾,出去的也是垃圾”(garbage in, garbage out),在建立机器学习应用中这一点尤其重要。为了避免挖掘的效果失控,关键是要充分掌握问题所在的领域,通过调查数据来生成各种各样的特征,这样的做法会对提升分类的准确率和泛化能力有很大的帮助。仅靠把数据扔进分类器就想获得优秀结果的幻想是不可能实现的。
十一、要学习各种不同的模型
模型的组合(Ensemble)技术正变得越来越流行了,因为组合方法,仅需要付出少许偏见(bias)的代价,就能大大的减少算法的不确定性。在著名的Netflix算法竞赛中,冠军队以及成绩优异队伍们全都使用了组合模型方法,把超过100个模型合并在一起(在模型上叠加高层的模型形成组合)以提升效果。在人工智能用于实际应用时,从业者普遍都认为,未来的算法一定时会通过模型组合的方法来获得更好精度,但是这也会抬高非专业人员理解系统机制的门槛。
十二、相关关系不等同于因果关系
这一点值得反复强调,我们可以通过一句调侃的话来解释:“地球变暖、地震、龙卷风,以及其他自然灾害,都和18世纪以来全球海盗数量的减少有直接关系”。这两个变量的变化有相关性,但是并不能说存在因果关系,因为往往存在第三类(甚至第4、5类)未被观察到的变量在起作用。相关关系应该看作是潜在的因果关系的一定程度的体现,但需要进一步研究。
- ?
大数据开发究竟有多挣钱?这里告诉你
乐枫
展开
1、基础人才-数据分析师
北京数据分析师平均工资: 10630/月,取自 15526 份样本,较 2016 年,增长 9.4%。
北京大数据开发工程师平均工资:30230/月。
3、Hadoop开发工程师
北京hadoop开发工程师平均工资: 20130/月,取自 1734 份样本。
4、数据挖掘工程师
北京数据挖掘平均工资:21740/月,取自 3449 份样本,较 2016 年,增长 20.3%;
5、算法工程师
北京算法工程师平均工资: 22640/月,取自 10176 份样本。
- ?
玩转大数据开发套件--下篇
李赛君
展开
目前大数据工具林林总总,能解决的问题各方各面,但是在真正落地到企业的时候却往往因使用问题遇到障碍。为此星环针对使用体验上的需求打造大数据开发套件Transwarp Studio,深化大数据技术的应用,在数字化浪潮下推动大数据技术对产业的赋能。
上一篇文章,玩转大数据开发工具--上篇,讲解了OLAP Cube模型创建工具Rubik在5.1中的提升点,以及新成员报表工具Pilot的功能和特征。本文将继续介绍Studio 5.1中的三个工具:高吞吐低延迟的日志存储分析工具Milano、界面化的全新数据流同步工具Transporter、以及功能再升级的工作流引擎Workflow。
日志存储分析 Milano
Milano是Studio家族的第六个新成员,提供集群日志分析服务,既可以用于TDH平台日志分析,也可以直接作为客户应用的日志处理平台使用。Milano采用Filebeat+Kafka+Logtash+Elasticsearch+Kibana的架构,为用户提供便利的接口实现日志检索和统计分析,以及基于日志的预警功能,克服了传统方式在大规模集群中做高级统计分析的障碍,并实现可视化的监测。
Milano提供优秀的吞吐量性能,以及低延迟的响应;保证水平可扩展,且不丢数据;同时提供可靠的安全保护,谨防系统日志的泄漏。因此,其技术优势可以总结为以下三点:全链路高吞吐、全链路安全管控、全链路高可用。
全链路高吞吐
Milano的构成组件之中的Kafka和Elasticsearch本身具备高吞吐可扩展特性,可以根据压力灵活扩展。Milano单节点的每秒日志收集量可达15000条,3节点的Milano监控集群日志量每日收集可以达到10亿条。同时,Milano保障低延迟的入库,从日志产生到入库仅需10秒内的时间间隔。
全链路安全管控
Milano在日志收集、传输、分析等各个环节上实现安全管控。Kafka和Elasticsearch的数据通信都经过Kerberos加密,保障数据在传输过程的安全性。每个租户的数据只允许进入授权的Kafka Topic或Elasticsearch Index,使各个租户日志之间相互隔离,确保数据隐私。此外,对于可视化的监控界面Kibana,每个用户都拥有自己的Kibana实例,通过LDAP实现安全认证。
全链路高可用
Milano的高可用性通过以下两方面保证。首先,Kafka、Elasticsearch自身提供高可用保证,其他无状态的组件通过Kubernetes多实例部署的方式保证高可用。其次,Kafka、Elasticsearch、Filebeat等服务自身都提供状态监控,配合告警服务,可保证数据高可用,以及数据不丢不重。
数据流同步 Transporter
Transporter是一款数据流控制工具,用于控制数据在数据源之间的流转和同步。Transporter随TDH 5.0推出,但当时采用文件定义和命令的方式实现数据流转的设计和实现,对于没有技术基础的用户比较难上手。因此我们投入Transporter界面化的工作,使之在5.1中正式上线。
Transporter 5.1以图形化操作取代配置文件编写,极大提升数仓构建效率。Transporter基于Web提供数据流设计和控制,允许用户自助设计数据流转的业务规则,提供数据实时同步、ETL、卸数功能。
近实时同步
Transporter可对接Oracle GoldenGate、DataStage等ETL工具,并近实时的将数据同步进Inceptor;支持读取MySQL和TxSQL日志,并近实时同步到数据仓库,同时支持分Shard模式的日志同步;提供分钟级的数据同步方案。
图形化ETL
Transporter允许用户在设计面板上通过拖拽图形化控件和配置参数,将数据源和各种数据转换操作定义在数据流转流程中。同时支持丰富的数据源,除了可以对接Inceptor外,还支持外部数据源JDBC、CSV文本和定宽文件。
卸数功能
Transporter提供从Inceptor卸数的服务,将数据以CSV文件格式导出并存放在HDFS上。
工作流设计 Workflow
Workflow作为工作流引擎,使工作流的触发与执行被自动化,大幅简化工作流调度设计与管理工作,图形化的设计方式让作业任务之间的逻辑关系更清晰,业务人员可以快速上手。Workflow在Studio 5.1中得到进一步升级,设计界面更丰富,主要的提升点有:增加工作组概念、界面化调度周期设置、丰富监控页面内容。
新增工作组
Workflow 5.1增加了工作组的概念,支持将任务以组为单位进行组合设计,实现调度和监控。工作组提高了工作流设计的逻辑性,使工作流管理更方便。
调度周期
Workflow 5.1开始实现交互式的表达式设计页面,用于配置调度周期,并提供多周期的调度支持。
升级的监控页面
Workflow 5.1在监控页面上新增一级子页面,提供更多的工作流监控历史信息。同时,在工作流监控页的详情页面中,用户可以查看某段指定时间区间的工作流任务执行详情。
结语
大数据开发套件的价值在于,它可以切合大数据开发需求,消除大数据开发工具在用户体验上的痛点,让大数据产品就像日常工具一样,不论我们是否懂它内部的技术原理,拿到它或者经过简单的学习就可以上手使用。今后我们会继续投入提升Transwarp Studio的各项能力,构建完善的大数据生态体系,使用户能够自主打造自己的大数据应用。
点击或回复关键词,查看相关内容
公司
简介 | 星环科技成长大事记
投资 | 星环科技获腾讯领投2.35亿C轮融资,与腾讯云达成战略合作
产品
产品 | 星环的划时代版本-Transwarp Data Hub 5.0
TDH社区版 | TDH社区版提供官方下载
评测 | 大数据产品最新测试基准看哪家(TPC-H or TPC-DS)?
流式计算 | 用Slipstream构建复杂事件处理应用
Holodesk | 业界最强的SQL引擎Inceptor为何这么快?
培训 | 学完这些课程,你也是大数据专家了!
认证考试 | 数据中心联盟—星环联合认证体系首次认证考试报名中
技术
技术 | 原创技术干货大合集!
技术支持 | 最完整的星环技术支持体系
评测 | 大数据产品最新测试基准看哪家(TPC-H or TPC-DS)?
TED视频 | TEDxLujiazui精彩视频:【大数据 大趋势】
白话大数据 | 白话大数据合集
案例
银行 | 河南农信:数据辅助决策,决策引领创新
证券 | 中泰证券:剑指大数据处理 多券商革新IT架构
智能金融 | 星环科技发布证券业大数据战略规划纲要(白皮书)
运营商 | 运营商的新方向-运用Hadoop技术将大数据资产变现
交通 | 大数据在智慧高速中的创新应用
物流 | 星环Hadoop发行版助快递业迎战“双十一”
邮政 | 中国邮政大数据平台建设
税务 | 大数据提升税务系统核心能力
审计 |让数据成为竞争力
视频监控 | Hadoop大数据在实时视频监控的应用场景
广电 | Hadoop企业级应用新添重磅案例
电力 | 华南某市供电局全景可视化大数据平台案例
能源 | 厉害了,我的营销大数据!
智能工厂 | 大数据技术助力中国石化智能工厂
农业 | 农业大数据的研究与实践
医药 | 医药产业链大数据前沿探讨
速记
【速记】河南农信 牛玲玲:数据辅助决策,决策引领创新
【速记】数起科技 李明国:让数据成为竞争力
【速记】天士力 刘晓煜:医药产业链大数据前沿探讨
【速记】国家农业信息化工程技术研究中心 陈天恩:农业大数据的研究与实践
【速记】同济大学教授 王伟:同济-星环“数据科学与大数据实践平台”建设
【速记】第一创业证券 瞿任雄:基于星环TDH大数据平台构建新一代券商数据中心
【速记】南方基金 屈磊:基于TDH数据中心大数据平台建设
【速记】中泰证券 何波:基于机器学习的场外配资自动识别系统
- ?
java是最好的大数据开发语言
Solomon
展开
什么是大数据?
“大数据”是指以多元形式,自许多来源搜集而来的庞大数据组,往往具有实时性。在企业对企业销售的情况下,这些数据可能得自社交网络、电子商务网站、顾客来访纪录,还有许多其他来源。这些数据,并非公司顾客关系管理数据库的常态数据组。
为什么说Java是大数据开发的最强语言?
而不是什么PHP,Python?
虽然语言都是相通的,功能都能实现,但这三种开发语言的实际应用场景已经分工非常明确!
PHP是web后端语言;Python是爬虫语言;
在这里,我要让大家走出误区,别人facebook用的PHP与你用的一样吗?别人都是自己改写的PHP内核,与你用的完全不是一个东西!
淘宝、京东、美团后台架构无一不是用Java搭建的,Java语言历史悠久,稳定性高,开源社区活跃,在大数据方面,更是一家独大!
基本所有与大数据沾边的开源软件都是采用Java开发,或者基于jvm。就算其内核不是采用Java编写,也一定提供了Java调用客户端,这就是Java的影响力。
既然Java是最好的大数据开发语言,应用领域又如此之广,到华信智原学习Java,专家顾问、实训团队、大牛导师、真实企业项目应有尽有,心动不如行动,赶快点击学习吧!
大数据开发网站
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并