设计高端网站建设上海电子商务网站制作公司

pingmian/2025/10/10 12:47:55/文章来源:
设计高端网站建设,上海电子商务网站制作公司,亚马逊入驻费用及条件,perl网站开发摘要#xff1a; 如果您是一个大数据开发工程师并且使用过hadoop的hive框架#xff0c;那么恭喜您#xff0c;阿里云的大数据计算服务-Maxcompute#xff0c;您已经会了90%。这篇文章就来简单对比下Maxcompute和hive的异同#xff0c;来方便刚开始使用Maxcompute的用户 如果您是一个大数据开发工程师并且使用过hadoop的hive框架那么恭喜您阿里云的大数据计算服务-Maxcompute您已经会了90%。这篇文章就来简单对比下Maxcompute和hive的异同来方便刚开始使用Maxcompute的用户从hive秒速迁移到Maxcompute的使用上。 点此查看原文http://click.aliyun.com/m/40814/ 如果您是一个大数据开发工程师并且使用过hadoop的hive框架那么恭喜您阿里云的大数据计算服务-Maxcompute您已经会了90%。这篇文章就来简单对比下Maxcompute和hive的异同来方便刚开始使用Maxcompute的用户从hive秒速迁移到Maxcompute的使用上。 首先回顾下hive的概念。 1、hive是基于hadoop的,以表的形式来存储数据实际上数据是存储在hdfs上数据库和表其实是hdfs上的两层目录数据是放在表名称目录下的计算还是转换成mapreduce计算。 2、hive可以通过客户端命令行和java api操作数据 3、hive是hql语言操作表跟通用sql语言的语法大致相同可能会多一些符合本身计算的函数等。hql会解析成mapreduce进行相关逻辑计算 4、hive有分区分桶的概念 5、hive可以通过命令从本地服务器来上传下载表数据 hive可以通过外部表功能映射hbase和es等框架的数据 6、hive任务可以通过hadoop提供的webUI来查看任务进度日志等 7、hive支持自定义函数udfudafudtf 8、hive可以通过hue界面化操作 9、hive可以通过sqoop等工具和其他数据源交互 10、资源调度依赖于hadoop-yarn平台 那么如果你对这些hive的功能稍微熟悉的话现在我告诉你Maxcompute的功能以及用法和上述hive功能基本一致。 先看下Maxcompute的组件 MaxCompute 主要服务于批量结构化数据的存储和计算可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务支持sql查询计算自定义函数udf实现复杂逻辑mapreduce程序实现更具体的业务计算支持Graph面向迭代的图计算处理框架提供java api来连接操作sqltask。 是不是初步看起来MaxCompute也是和hive一样可以用sqludfmr ①文件系统对比 对比差异之前容许我先简单介绍下阿里云的基石-飞天系统详细的可以网上搜下。飞天系统是分布式的文件存储和计算系统听起来是不是好熟悉是不是和hadoop的味道一样。这里对于Maxcompute可以暂时把它当作是hadoop类似的框架那Maxcompute就是基于飞天系统的类似于hive基于hadoop。 hive的数据实际上是在hdfs上元数据一般放在mysql以表的形式展现。你可以直接到hdfs上查到具体文件。Maxcompute的数据是在飞天文件系统对外不暴露文件系统底层优化会自动做好。 ②hive和Maxcompute客户端 直接上图来对比 hive的客户端 Maxcompute(原odps)的客户端 是不是看起来一致。 实际上 项目空间Project是 MaxCompute 的基本组织单元它类似于传统数据库的Database 或 Schema 的概念是进行多用户隔离和访问控制的主要边界 。一个用户可以同时拥有多个项目空间的权限 配置文件如图 在客户端中可以执行sql和其他命令。 那么MaxCompute除了命令行客户端也提供了python和java的sdk来访问。不说了直接上代码 import java.util.List;import com.aliyun.odps.Instance;import com.aliyun.odps.Odps;import com.aliyun.odps.OdpsException;import com.aliyun.odps.account.Account;import com.aliyun.odps.account.AliyunAccount;import com.aliyun.odps.data.Record;import com.aliyun.odps.task.SQLTask;public class testSql { //这里accessId和accessKey是阿里云为安全设置的账户访问验证类似于密码不止是在Maxcompute中使用private static final String accessId ;private static final String accessKey “”; //这里是的服务地址private static final String endPoint http://service.odps.aliyun.com/api; //Maxcompute的项目名称类似于hive的databaseprivate static final String project ;private static final String sql select category from iris;;public static voidmain(String[] args) {Account account new AliyunAccount(accessId, accessKey);Odps odps new Odps(account);odps.setEndpoint(endPoint);odps.setDefaultProject(project);Instance i;try {i SQLTask.run(odps, sql);i.waitForSuccess();ListRecord records SQLTask.getResult(i); for(Record r:records){System.out.println(r.get(0).toString());}} catch (OdpsException e) {e.printStackTrace();}}} 是不是觉得很亲切跟大多数数据库的访问方式一样。 ③odpscmd和hivesql 首先来看建表语句 hive标准建表语句 hive create table page_view ( page_id bigint comment 页面ID, page_name string comment 页面名称, page_url string comment 页面URL ) comment 页面视图 partitioned by (ds string comment 当前时间用于分区字段) row format delimited stored as rcfile location /user/hive/test; maxcompute建表语句 create table page_view ( page_id bigint comment 页面ID, page_name string comment 页面名称, page_url string comment 页面URL ) partitioned by (ds string comment 当前时间用于分区字段) 从建表语句上明显的可以感觉出来maxcompute没有指定分隔符没有指定文件存储路径没有指定文件的存储格式。难道是默认的吗不。 因为maxcompute是基于阿里云飞天文件系统用户无需关心文件存储格式压缩格式存储路径等 这些操作由阿里云来完成用户也不用来疲于文件存储成本,压缩性价比,读写速度等优化可以将精力集中在业务的开发上。 另外二者的数据的上传下载 hive可以通过命令比如上传 maxcompute是通过命令工具 tunnel上传下载同时支持在上传过程校验文件格式脏数据等 ④分区和分桶 分区的概念相信使用hive的同学很熟悉其实就是在表目录上再套一层目录将数据区分目的就是提高查询效率。那么从上面建表语句中可以看出maxcomoute和hive都是支持分区的概念用法一致。 关于分桶上面建表语句中hive中有分桶语句maxcompute没有分桶的操作实际上分桶是把一个大文件根据某个字段hash成多个小文件适当的分桶会提高查询效率在maxcompute中这些优化底层已经做了。 ⑤外部表功能 hive可以通过外部表的功能来操作例如hbase和es的数据。外部表功能maxcompute(2.0版本支持)中也是同样适用maxcompute通过外部表来映射阿里云的OTS和OSS两个数据存储产品来处理非结构化的数据例如音频视频等。看下建表语句 CREATE EXTERNAL TABLE IF NOT EXISTS ambulance_data_csv_external ( vehicleId int, recordId int, patie ntId int, calls int, locationLatitute double, locationLongtitue double, recordTime string, direction string ) STORED BY com.aliyun.odps.CsvStorageHandler -- (2) LOCATION oss://oss-cn-hangzhou-zmf.aliyuncs.com/oss-odps-test/Demo/SampleData/CSV/AmbulanceData/; 再看hive映射到hbase建表语句 CREATE EXTERNAL TABLE cofeed_info ( rowkey string, id string, source string, insert_time timestamp, dt string ) STORED BY ‘org.apache.Hadoop.hive.hbase.HBaseStorageHandler’ WITH SERDEPROPERTIES (“hbase.columns.mapping” “:key, cf:id, cf:source, cf:insert_time, cf:dt”) TBLPROPERTIES (“hbase.table.name” “cofeed_info”); 语法基本一致maxcompute可以自定义extractor来处理非结构化数据可以参考https://yq.aliyun.com/articles/61567来学习 ⑥webui hive任务依赖于hadoop的hdfs和yarn提供的webui访问。看下对比 hadoopwebui 在这里可以通过历史任务来查看hive任务的执行情况。个人觉得页面不是很友好。 那么在Maxcompute中当然也是可以通过ui来查看任务执行状态进度参数以及任务日志等 首先在任务执行的时候在客户端会打印出来一串http地址我们叫做logview复制下来在浏览器中打开即可。 如图 在浏览器中打开 总体上一看非常清晰明了。任务开始时间结束时间任务状态绿色进度条。很方便的获取任务的总体情况 点击Detail按钮可以看更具体的调度日志等 点击jsonsumary可以看到非常详细的执行过程 那么可以看到Maxcompute的webui还是比较友好的方便用户很快定位问题。调度方面这里也说一下是由阿里云统一调度用户无需关心优化。 ⑦自定义函数的支持 hive和Maxcompute都支持自定函数。同样是三种udfudtfudaf。 代码写法一致。最大的区别在于数据类型的支持上。 目前Maxcompute支持的数据类型是 UDF 支持 MaxCompute SQL 的数据类型有Bigint, String, Double, Boolean 类型 。MaxCompute 数据类型与 Java 类型的对应关系如下注意 java 中对应的数据类型以及返回值数据类型是对象首字母请务必大写 目前暂不支持 datetime 数据类型建议可以转换成 String 类型传入处理 。 SQL 中的 NULL 值通过 Java 中的 NULL 引用表示因此 Java primitive type 是不允许使用的因为无法表示 SQL 中的 NULL 值 。 所以不同于hive中支持各种类型。 看maxcompute代码示例 import com.aliyun.odps.udf.UDF;public final class Lower extends UDF {public String evaluate(String s) {if (s null) { return null; }return s.toLowerCase();}} 用法一致所以使用hive的用户基本可以直接迁移。 在此强调一下在MaxCompute中处于安全层面的考虑对udf和mr是有java沙箱限制的比如在udf代码中不能启用其他线程等等具体可以参考 https://help.aliyun.com/document_detail/27967.html 那么可以看到Maxcompute的webui还是比较友好的方便用户很快定位问题。调度方面这里也说一下是由阿里云统一调度用户无需关心优化。 ⑧界面化操作。 谈到界面化的操作阿里云的产品基本上都是界面化操作可拖拽等等开发门槛非常低所以也是非常适合初学大数据或者公司没有相关开发人力的公司。 hive可以借助hue工具来操作查询数据但是实际上交互性不是很强。 那么这里就将Maxcompute的界面化操作以及数据同步权限控制数据管理和其他数据源交互定时调度等简单介绍下就是阿里云的产品-大数据开发套件目前是免费使用的。需要开通Maxcompute项目进入操作。等不及了直接上图 1Maxcompute sql 查询界面化 maxcompute mapreduce界面化配置 Maxcompute数据同步界面化 hive可以通过sqoop工具和多种数据源进行数据同步。Maxcompute在大数据开发套件中也是非常方便的和其他数据源进行同步 并且可以配置流程控制调度 是不是很神奇惊不惊喜意不意外。具体的使用还是大家亲自体验这里就不一一介绍了。 那最后来看下hadoop-mapreduce和Maxcompute-mapreduce的使用对比。还是用大家最喜欢的wordcount来做示例。 介绍之前还是要强调一下1Maxcompute-mapreduce输入输出都是表或者分区的形式如果需要引用其他文件需要先上传2Maxcompute-mapreduce也是有沙箱限制不允许在代码中启用别的框架线程等。 hadoop-mr代码就不贴了直接上Maxcompute-mapreduce代码Overridepublic void setup(TaskContext context) throws IOException {word context.createMapOutputKeyRecord();one context.createMapOutputValueRecord();one.set(new Object[] { 1L });System.out.println(TaskID: context.getTaskID().toString());}Overridepublic void map(long recordNum, Record record, TaskContext context)throws IOException { //maxcompute中是以表中一行记录来处理Recordfor (int i 0; i record.getColumnCount(); i) {word.set(new Object[] { record.get(i).toString() });context.write(word, one);}}} 再看job主函数配置代码逻辑是通用的public static void main(String[] args) throws Exception {if (args.length ! 2) {System.err.println(Usage: WordCount in_table out_table);System.exit(2);}JobConf job new JobConf();job.setMapperClass(TokenizerMapper.class);job.setCombinerClass(SumCombiner.class);job.setReducerClass(SumReducer.class); //这里可以直接指定map端输出的字段job.setMapOutputKeySchema(SchemaUtils.fromString(word:string));job.setMapOutputValueSchema(SchemaUtils.fromString(count:bigint)); //这里输入出需要是表活着分区InputUtils.addTable(TableInfo.builder().tableName(args[0]).build(), job);OutputUtils.addTable(TableInfo.builder().tableName(args[1]).build(), job);JobClient.runJob(job);} 那么基本上主要的功能对比差不多了大家可以发现如果您是一位使用过hive的开发人员可以秒迁移到maxcompute上更加方便简洁的来做开发将开发人员从苦逼的加班中解放出来实际上公司节省了大量的运维成本开发人力成本等等将主要精力放在业务开发。如果非要问我hive和maxcompute的性能对比那我只能告诉它是经历双十一考验过的。 总结如果说工业革命是将人们从体力劳动解放出来那么如今的互联网革命尤其是云计算大数据的飞速发展是将人们从脑力中解放出来。 即使你是一个人的研发公司阿里云也可以让你有对抗世界级企业的能力。你不是一个人在战斗。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无锡网站制作推广公司专业外贸网站建设

今天继续给大家分享JVM的相关知识,今天介绍一下JVM内存区域的程序计数器。 1、程序计数器概念 JVM中的程序计数寄存器(Program Counter Register)中Register的命名来源于CPU的寄存器,寄存器用来存储指令相关的现场信息。 CPU只…

机械厂网站建设方案交易所网站建设

近日,国际权威IT咨询机构IDC发布《中国数据安全市场发展趋势,2023》报告,报告针对中国数据安全市场的发展现状进行调研,明确了最终用户数据安全建设的痛点、难点,阐述了市场中各技术服务提供商的服务方案和优势。 美创…

扬州网站建设价格安国网站建设

目录: 第一部分 IPv6的诞生背景和引起的主要变化 第二部分 IPv6数据报的基本首部和扩展首部 第三部分 IPv6地址 第四部分 IPv4向IPv6过渡 第一部分 IPv6的诞生背景和引起的主要变化 一.IPv6的诞生背景 IPv4存在设计缺陷: IPv4的设计者最初并没有想到该协议会在全球范围内广…

网站建设技术入股合同建设银行官方网站入口

最近GPT概念爆火,许多行业开始竞相发展AI ,工作就业也将面临跳转,目前测试就业形势就分为了两大类,一类是测试行业如功能、性能、自动化综合性人才就业技能需求,另一类便是AI测试行业的需求普遍增长,原本由…

哪些网站可以做翻译兼职湖北专业网站制作公司

在产品质量 检测过程中,对于字符、条码等标识信息的识别、读取、检测是非常重要的一部分,比如在食品饮料包装检测中,生产日期 、保质期 、生产批号 、条码等字符信息是产品管理和追溯必不可缺的,因此利用机器视觉技术进行OCR字符采…

东莞好的网站建设效果professional wordpress pdf

ISA Server的下个版本TMG2010已经发布有一段时间了,现在正在逐渐将原来的ISA Server 2006升级到TMG2010。由于TMG2010需要64位的CPU与Windows Server 2008操作系统,所以,如果原来的ISA Server 2006是安装在32位的CPU的服务器中,则…

电子商务网站建设报价沧州手机端网络推广

扬州诚招电动牙刷代理有什么牌子比较好用,珈蓝电器实惠物美,为人类口腔事业的发展再创新贡献。扬州诚招电动牙刷代理有什么牌子比较好用, 很多人说电动牙刷是懒人神器, 但偷懒可以,口腔清洁效果可不能因此打折。电动牙…

有哪些做农产品的网站西安网站建设seo竞价

目录 1.计算一元二次方程 2.看一元方程的图形 有个小疑问? 惊喜: 总结 1.计算一元二次方程 这一讲我们以科学计算开始,使用matlab计算精确度很高,我们可以尝试来计算一下黄金分割率(定义大家可以自行百度一下&am…

企业网站建设费现金流科目企业信息查询网

为什么要进行消息通信? content_script和top窗口之间除了DOM共享之外,window对象是不共享的。如果content_script需要获得top窗口中window对象的数据,就需要使用到通信。反之,也是相同的情况。 1、自定义监听事件(推荐…

赣州建设公司网站软文营销案例200字

一.图的遍历 图的遍历需要解决的关键问题 1.在图中,如何选取遍历的起始顶点? 从编号小的顶点开始 在线性表中,数据元素在表中的编号就是元素在序列中的位置,因而其编号是唯一的。在树中,将节点按层序编号&#xff0…

云南网站建设价格找兼职h5网站开发人员

将模糊图片4K高清化效果如下: 优化前的图片 优化后如下图: 优化后图片变大变清晰了效果很明显 软件界面如下: 所用工具和代码: 1、所需软件包 网盘链接:https://pan.baidu.com/s/1CMvn4Y7edDTR4COfu4FviA提取码&…

域名虚拟服务器做网站公司注册资本可以随便填吗

Win10 安装Linux子系统原理就是安装一个(Linux系统的)应用程序。使用应用程序一般的使用Linux子系统,非常方便。第一步:启用开发者模式启用开发者模式,其实很简单,本人参考的是该文章:手把手教你…

广西电力工程建设公司网站建网站能多少带宽

1 浏览器架构 浏览器是多进程多线程的应用程序,多进程可以避免相互影响和减少连环崩溃的几率: 浏览器(主)进程:主要负责界⾯显示、⽤户交互、⼦进程管理、存储等功能。内部会启动多个线程分别处理不同的任务。⽹络进…

建设网站收取广告费用网页升级紧急通知app下载

推荐:使用 NSDT场景编辑器 快速搭建3D应用场景 连接设备以交换信息是网络的全部意义所在。套接字是有效网络通信的重要组成部分,因为它们是用于通过本地或全球网络以及同一台计算机上的不同进程在设备之间传输消息的基本概念。它们提供了一个低级接口&am…

网站集约化建设的优点嘉兴网站建设wmcn

文章目录 1、死锁逻辑图2、死锁三胞胎3、死锁的原因及必要条件4、死锁处理策略之死锁预防5、死锁处理策略之死锁避免(银行家算法)6、死锁处理策略之死锁检测与解除 1、死锁逻辑图 2、死锁三胞胎 3、死锁的原因及必要条件 4、死锁处理策略之死锁预防 5、死…

双鸭山住房和城乡建设局网站Net网站开发招聘

一.粘包原因及解决办法 粘包(Packet Sticking)是指在网络通信中,发送的数据包在接收端被合并成一个大的数据块或多个数据包被拆分成较小的数据块,导致接收端无法正确解析和处理数据的现象。 粘包问题可能由以下几个原因引起&…

汉中市网站建设设计制作一个生态瓶

阅读导航 引言一、左值引用和右值引用1. 什么是左值?什么是左值引用?2. 什么是右值?什么是右值引用?3. move( )函数 二、左值引用与右值引用比较三、右值引用使用场景和意义四、完美转发std::forward 函数完美转发实际中的使用场景…

南通优普网站建设ip池代理

在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树。解决最小生成树问题一般有两种算法:Kruskal算法和Prim算法。 Kruskal算法 原理:基本思想是从小到大加入边,是个贪心算法。我们将图中的每个边按…

开发深圳网站建设巫山做网站那家好

何为详细级别详细级别,英文Level of detail,Tableau用它来描述计算发生的级别,或者说计算在哪个层级发生。由于BI工具的相似性,在Power BI里也可以用类似的思想对计算进行描述,但Power BI并没有与之对应的专门的词汇。…

惠州做网站好的公司3d游戏建模培训

Tofu系列提供了适应不同目标、不同速率的识别跟踪模块产品系列,主要包括Tofu3,4,5,S和其他零配件,可以适配BT.656,Cameralink,网络等不同接口和协议的热红外、可见光视频。 Tofu3 是多波段视频物体识别跟踪…