• 智能数据洞察(DataArts Insight)产品定位
    智能数据洞察(DataArts Insight)致力于用更生动、友好的形式,即时呈现隐藏在瞬息万变且庞杂数据背后的业务洞察。无论在零售、物流、电力、水利、环保、还是交通领域,通过交互式实时数据可视化视屏墙来帮助业务人员发现、诊断业务问题。 DataArts Insight提供丰富的可视化组件,除了针对业务展示优化过的常规图表外,还有拓扑关系等异形图表供您自由搭配。DataArts Insight无缝集成华为云数据仓库服务、支持本地CSV、在线API及企业内部私有云数据;满足您各类大数据实时计算、监控的需求,充分发挥大数据计算的能力。拖拽即可完成组件自由配置与布局、所见即所得,无需编程就能轻松搭建可视化大屏。DataArts Insight特别针对拼接大屏端的展示做了分辨率优化,能够适配非常规的拼接分辨率。创建的大屏能够发布分享,作为您对外数据业务展示的窗口。
  • 开通智能数据洞察(DataArts Insight)服务
    申请开通DataArts Insight服务,并完成服务授权即可开启数据自助分析之旅,洞察数据的奥秘。前提条件DataArts Insight尚在公测阶段,请先申请产品公测,再参考本节操作开通服务。申请DataArts Insight公测。开通DataArts Insight服务套餐首次使用DataArts Insight服务请按照控制台引导开通服务,并完成委托授权。说明:服务授权需要主帐号或者用户组Admin中的子帐号进行操作。如果需要对委托权限进行调整,可在“委托授权”页面中进行修改。单击“开通服务”。阅读并勾选服务协议。图1 开通DataArts Insight服务获取云服务使用权限。授权后DataArts Insight才拥有对所选云服务的使用权限。授权后可在系统设置-授权功能下再次对云服务的使用进行授权或取消授权同意授权后,DataArts Insight将在统一身份认证服务IAM为您创建委托,授权成功后,可以进入服务委托列表查看。表1 DLI委托权限列表 权限名详细信息备注VPC AdministratorDataArts Insight数据源连接需要使用VPC、子网、路由、对等连接功能,因此需要获得使用VPC(虚拟私有云)的VPC Administrator权限。由于云服务缓存需要时间,授权需3分钟左右才能生效。IAM ReadOnlyAccessDataArts Insight对未登录过DLI的用户进行授权时,需获取IAM用户相关信息。因此需要IAM ReadOnlyAccess权限。单击“确认”完成服务授权后,即可开始用DataArts Insight服务。
  • 申请智能数据洞察(DataArts Insight)公测
    目前,智能数据洞察(DataArts Insight)服务处于公测中,您可以申请公测,免费试用产品。前提条件由于公测期间资源有限,仅限已通过实名认证的华为账号申请公测。申请公测如果您已有华为账号并已开通华为云,请继续执行以下步骤。如果您还没有华为账号,参考注册华为账号并开通华为云。登录DataArts Insight DataArts Insight申请公测页面。填写公测申请表。在申请公测页面,填写公测申请表。勾选“同意《公测试用服务协议》”,单击“申请公测”。提交公测申请。系统提示已提交公测申请,预计5个工作日以内完成审核,请您耐心等待。审批成功。系统后台审批通过之后,会通过邮件(如果在申请表中填写了邮箱地址)或短消息的方式通知您。在“我的公测”页面单击“前往控制台”,或者重新进入DataArts Insight管理控制台即可使用DataArts Insight服务。公测期间产品规格信息DataArts Insight公测期间提供公测版本供用户体验,且公测期间免费试用。企业版规格如表1所示。表1 DataArts Insight公测期间企业版规格版本规格说明支持的用户数量适用场景企业版支持BI加速引擎支持盘古 for BI支持智能洞察50面向个人分析师或开发者,满足通常场景自助分析功能体验诉求。
  • [热门活动] 【数仓专题直播有奖提问】DTSE Tech Talk 技术直播 NO.43:看直播提问题赢华为云定制U型按摩枕、华为云定制POLO衫等好礼!
    中奖结果公示感谢各位小伙伴参与本次活动,本次活动获奖名单如下:请各位获奖的伙伴在9月19日之前点击此处填写收货地址,如逾期未填写视为弃奖。再次感谢各位小伙伴参与本次活动,欢迎关注华为云DTSE Tech Talk 技术直播更多活动~直播简介【直播主题】备份恢复全掌握,数仓数据更安全【直播时间】2023年9月13日 19:00-20:30【直播专家】李文鑫  华为云EI DTSE技术布道师【直播简介】大数据时代,数据的备份恢复是一项不可忽视的系统工作。相对于集群级备份恢复海量的文件操作,物理细粒度备份恢复能够从更小的粒度、以更少的数据文件操作,对数据库对象进行备份与恢复。GaussDB(DWS) Roach工具提供了丰富的物理细粒度备份恢复功能,帮助您更加精确高效地备份恢复指定数据,为您的数据安全保驾护航。直播链接:cid:link_1活动介绍【互动方式】直播前您可以在本帖留下您疑惑的问题,专家会在直播时为您解答。直播后您可以继续在本帖留言,与专家互动交流。我们会在全部活动结束后对参与互动的用户进行评选。【活动时间】即日起—2023年9月14日【奖励说明】评奖规则:活动1:直播期间在直播间提出与直播内容相关的问题,对专家评选为优质问题的开发者进行奖励。奖品:华为云定制U型按摩枕活动2:在本帖提出与直播内容相关的问题,由专家在所有互动贴中选出最优问题贴的开发者进行奖励。奖品:华为云定制POLO衫更多直播活动直播互动有礼:官网直播间发口令“华为云 DTSE”抽华为云定制棒球帽、填写问卷抽华为云定制保温杯等好礼分享问卷有礼 :邀请5位朋友以上完成问卷即可获得华为云定制钢笔礼盒。老观众专属福利:连续报名并观看DTT直播3期以上抽送华为云DTT定制T恤。【注意事项】1、所有参与活动的问题,如发现为复用他人内容,则取消获奖资格。2、为保证您顺利领取活动奖品,请您在活动公示奖项后2个工作日内私信提前填写奖品收货信息,如您没有填写,视为自动放弃奖励。3、活动奖项公示时间截止2023年9月7日,如未反馈邮寄信息视为弃奖。本次活动奖品将于奖项公示后30个工作日内统一发出,请您耐心等待。4、活动期间同类子活动每个ID(同一姓名/电话/收货地址)只能获奖一次,若重复则中奖资格顺延至下一位合格开发者,仅一次顺延。5、如活动奖品出现没有库存的情况,华为云工作人员将会替换等价值的奖品,获奖者不同意此规则视为放弃奖品。6、其他事宜请参考【华为云社区常规活动规则】。
  • [公告] 资讯|领跑中国大数据平台市场,华为云再获第一
    据全球领先的IT研究和咨询公司国际数据公司IDC发布的《中国大数据平台市场份额,2022》显示华为云凭借领先的技术能力以及丰富的政企经验位居中国大数据平台整体市场(私有化部署+公有云服务)第一这也是华为云第三次获得该市场第一*同时,根据报告数据显示,凭借基于华为云Stack平台本地化部署的FusionInsight智能数据湖方案,华为云位居中国大数据私有化部署市场第一,市场份额大于2到4名的总和,持续彰显领先优势。在中国大数据公有云服务市场,华为云也保持53.1%的超高增速,成为增速最快的厂商。华为已在大数据领域持续投入14年,先后提出了“湖仓一体”、“批流一体”、“数智融合”等多个行业领先的创新架构及理念。率先提出湖仓一体理念从2020年起,华为云就提出的“湖仓一体”架构理念,通过全量数据入湖存储,湖内数据分层加工,实现全局一份数据支撑多业务工作负载。基于华为云FusionInsight智能数据湖方案,提供6万+大规模MRS云原生数据湖,帮助客户从传统大数据、数仓方案向“一湖+多样集市+数据智能”分层建设演进,引领“数智融合”新架构,实现“数据->信息->知识->智慧”的价值闭环。深度打磨批流一体技术华为云MRS批流一体技术基于湖仓一体,在统一的数据模型上同时支持实时、准实时、离线数据处理,可实现数据实时入湖,秒级延迟;同时实现了离线和实时数据处理架构,让原先割裂的两条数据加工路径得以统一,大大提高海量数据处理效率,简化集成链路、提高开发效率、降低治理成本。华为MetaERP系统采用MRS批流一体架构来构建实时计算业务,包括业务监控、分析、诊断控制,实现了全球多币种资金核算准确、数据一致、不错一分钱。携手客户走向数智融合在2022年,华为云重磅推出数智融合解决方案,通过资源三层池化、统一元数据、统一工作台以及AI4Data四大创新,加速大数据和AI技术的深度融合。存储-缓存-计算三层分离,提供极致性价比数智融合提供存储、缓存数据加速、计算资源三层池化方案,解决湖仓智平台资源割裂的问题,降低运维成本和难度,减少数据和模型开发使用过程中数据来回搬迁的次数,从多套湖仓智平台走向一套数智融合使用的资源池,性价比显著提高。融合数据管理+融合数据加速,用数更敏捷数智融合方案提供LakeFormation实现全局统一的元数据、数据访问控制、数据全生命周期管理,通过架构的不断创新,让一份数据在数据湖、数仓、AI之间自由共享,用数更敏捷,存算分离性能逼近存算一体。数据+AI融合工作台,降低开发、运维门槛数据分析和AI开发统一工作平台,让DataOps和MLOps无缝衔接,高效协同,在一个平台完成开发、测试、交付上线工作,彻底打通大数据和AI技术的使用边界,提升数智融合业务创新。AI4Data实现数据智能化,数据治理提效数智融合平台覆盖主数据管理、元数据管理、数据模型管理、数据质量检查和数据安全,让数据开发、治理全链路智能化。凭借着领先的技术能力和对行业的深刻理解,华为云FusionInsight已成为大型政企的共同选择:在中国工商银行采用华为云FusionInsight建设了全行统一的数据湖,在建模层面也实现了湖仓一体新范式,超越传统数仓范式建模效率,加速云数智融合。当前,工商银行的单体最大的数据湖达2000+节点,支撑300+行内大数据应用,日均承载批量计算作业数达30万+。交通银行引入华为云FusionInsight,建设完整、统一、清洁的“数据底座”,通过上线全链路实时数据湖,报送效率由原来的8小时缩短至2小时。2022年,交通银行凭借“湖仓一体的数据中台实践”荣获亚洲银行家“最佳大数据应用奖”。三峡集团通过华为云FusionInsight实现了湖仓一体,构建了统一的实时数据湖,汇聚OT、IT全域数据形成数据资产,构建电力生产大数据模型和分析应用,支撑厂站经营、设备检修和电力生产等11大业务的实时业务数据分析,让故障提前发现,及时抢修。目前,华为云FusionInsight已服务全球3500+客户,累计交付40万+节点,最大单集群商用规模1万+,最大集群数据量超过700PB,携手800+伙伴帮助客户加速数字化转型和智能化升级。*数据来源:IDC 中国大数据平台市场份额报告,2022IDC 中国大数据平台市场份额报告,2021H1IDC 中国大数据平台市场份额报告,2020转自:华为云公众号
  • [技术干货] Hadoop Spark太重,esProc SPL很轻-转载
    ​ 文章目录  Hadoop/Spark之重 轻量级的选择 SPL既轻且快 SPL资料 随着大数据时代的来临,数据量不断增长,传统小机上跑数据库的模式扩容困难且成本高昂,难以支撑业务发展。很多用户开始转向分布式计算路线,用多台廉价的PC服务器组成集群来完成大数据计算任务。Hadoop/Spark就是其中重要的软件技术,由于开源免费而广受欢迎。经过多年的应用和发展,Hadoop已经被广泛接受,不仅直接应用于数据计算,还发展出很多基于它的新数据库,比如Hive、Impala等。   Hadoop/Spark之重 Hadoop的设计目标是成百上千台节点的集群,为此,开发者实现了很多复杂、沉重的功能模块。但是,除了一些互联网巨头企业、国家级通信运营商和大型银行外,大多数场景的数据量并没有那么巨大。结果,经常能看到只有几个到十几个节点的Hadoop集群。由于目标和现实的错位,对很多用户来讲,Hadoop成了一个在技术、应用和成本上都很沉重的产品。   技术之重   如果真的有几千台计算机组成的集群,是不可能依靠手工个性化管理的。试想,将这些计算机罗列出来,运维人员看都看不过来,更别说管理和分配任务了。再说,这么多机器,难免会不断出现各种故障,怎么保证计算任务顺利执行?Hadoop/Spark的开发者为了解决这些问题,编写了大量代码,用于实现自动化节点管理、任务分配和强容错功能。   但是,这些功能本身就要占用很多计算资源(CPU、内存和硬盘等),如果用到几台到十几台节点的集群上,就太过沉重了。集群本来就不大,Hadoop还要占用相当一部分的资源,非常不划算。   不仅如此,Hadoop产品线很长,要把这些模块都放在一个*台上运行,还要梳理好各个产品之间的相互依赖性,就不得不实现一个包罗万象的复杂架构。虽然大多数场景只用其中一两个产品,也必须接受这个复杂、沉重的*台。   后来出现的Spark弥补了Hadoop对内存利用的不足,技术上是不是可以变轻呢?很遗憾,Spark走向了另一个极端,从理论模型上就只考虑内存计算了。特别是Spark 中的 RDD 采用了 immutable 机制,在每个计算步骤后都会复制出新的 RDD,造成内存和 CPU 的大量占用和浪费,离开大内存甚至无法运行,所以技术上还是很重。   使用之重   Hadoop技术上太过复杂,也就意味着安装和运维会很麻烦。集群只有几台计算机时,却不得不使用为几千台节点集群设计的节点管理、任务分配和容错功能。可想而知,安装、配置、调试都很困难,日常运行的维护、管理工作也不容易。   即使克服这些困难让Hadoop运行起来了,编写大数据计算代码时还会面临更大的麻烦。Hadoop编程的*心框架是MapReduce,程序员要编写并行程序,只要写 Map 和 Reduce 动作即可,用来解决求和、计数等简单问题也确实有效。但是,遇到复杂一些的业务逻辑,用MapReduce编程就会变得非常困难。例如,业务计算中很常见的JOIN计算,就很难用MapReduce实现。再比如,很多和次序有关的运算实现起来也很困难。   Spark的Scala语言具备一定的结构化数据计算能力,是不是能简单一些呢?很可惜,Scala使用难度很大,难学更难精。遇到复杂一些的运算逻辑,Scala也很难写出来。   MapReduce、Scala都这么难,所以Hadoop/Spark计算语法开始回归SQL语言。Hive可以将SQL转化为MapReduce所以很受欢迎,Spark SQL的应用也比Scala广泛的多。但是,用SQL做一些常规查询还算简单,用于处理多步骤过程计算或次序相关运算还是非常麻烦,要写很复杂的UDF。而且,许多计算场景虽然勉强能用SQL实现,但是计算速度却很不理想,也很难进行性能调优。   成本之重   虽然 Hadoop 软件本身开源免费,但它技术复杂、使用困难,会带来高昂的综合成本。   前面说过,Hadoop自身会占用过多的CPU、内存和硬盘,而Spark需要大内存支撑才能正常运行。所以不得不为Hadoop/Spark采购更高配置的服务器,要增加硬件支出。   Hadoop/Spark使用困难,就需要投入更多的人力去完成安装、运维,保证Hadoop/Spark的正常运转;还要投入更多的开发人员,编程实现各种复杂的业务计算,要增加人力资源成本。   由于使用过于困难,很多用户不得不采购商业公司的收费版本Hadoop/Spark,价格相当可观,会大幅增加软件采购成本。   既然Hadoop如此沉重,为什么还有很多用户会选择它呢?答案很简单:暂时找不到别的选择,也只有Hadoop勉强可用,好歹知名度高一些。   如此一来,用户就只能安装、配置Hadoop的重型应用,并忍受Hadoop本身对计算资源的大量消耗。小规模集群的服务器数量本来就不多,Hadoop又浪费了不少,小马拉大车,最后运行的效果可想而知。花了大价钱采购、费事费力的使用Hadoop,实际计算的性能却不理想。   就没有别的选择了?   轻量级的选择 开源的esProc SPL是轻量级大数据计算引擎,采用了全新的实现技术,可以做到技术轻、使用简单、成本低。   技术轻   本文开头说过,越来越大的数据量让传统数据库撑不住,所以用户只能转向分布式计算技术。而数据库之所以撑不住,是因为SQL难以实现高速算法,大数据运算性能只能指望数据库的优化引擎,遇到复杂计算时,优化引擎又常常无能为力。   所以,我们应该想办法设计更高效的算法,而不是一味地追求分布式计算。按照这个思路,SPL提供了众多高性能算法(有许多是业界首创)以及高效的存储方案,同等硬件环境下可以获得远超过数据库的运算性能。安装在单机上的SPL就可以完成很多大数据计算任务,架构比集群简单很多,从技术上自然就轻的多了。   SPL的高性能算法有下面这些:  ​ 对于数据量更大的情况,SPL实现了轻量级集群计算功能。这一功能的设计目标是几台到十几台节点的集群,采用了与Hadoop完全不同的实现方法。   SPL集群不提供复杂沉重的自动化管理功能,而是允许对每个节点进行个性化配置。程序员可以根据数据特征和计算目标来决定各节点存储什么样的数据,完成哪些计算。这样做,不仅大大降低了架构复杂度,也是提升性能的重要手段。   以订单分析为例,订单表很大,要通过产品号字段与较小的产品表主键做关联,再按照产品供应商分组汇总订单金额。SPL集群可以很容易的将订单表分段存放在各个节点的硬盘上,再将较小的产品表读入每个节点的内存中。计算时,每个节点仅对本机上的订单分段和产品数据做关联、分组汇总,可以缩短总计算时间;再将结果传输到一个节点上做二次汇总。由于传输的是第一次汇总的结果,数据量小、网络传输时间较短。总体来说,这个方案可以获得最佳性能,虽然程序员需要做一些更细致的工作,但对于小规模集群来说,增加的工作量并不大。   SPL也不提供超强的容错能力,不会像Hadoop那样,在有节点故障的情况下,还要保证任何一个任务都会执行成功。实际上,大多数计算任务的执行时间都在几个小时以内,而几台、十几台机器的集群一般都能做到较长时间正常运行,不会这么频繁的出故障。即使偶尔出现节点故障导致任务执行失败,再重新计算一遍也可以接受,毕竟这种情况不会经常发生。所以,SPL的容错能力只是保证有少数节点故障的时候,整个集群还能继续工作并接受新任务(包括重算的任务),这就大大降低了SPL集群的复杂度。   在内存计算方面,SPL没有使用Spark RDD的 immutable机制,而是采用了指针式复用机制,利用地址(指针)访问内存,在数据结构没有改变的情况下,直接用原数据的地址形成结果集,不必每个计算都将数据复制一遍,仅仅多保存一个地址(指针),可以同时减少 CPU 和内存的消耗,运行起来要比Spark轻很多了。并且,SPL改进了当前的外存计算算法体系,降低了复杂度并扩大了适应范围,可以做到内外存计算结合,充分提升计算性能的同时,还不像Spark那样依赖大内存。   使用简单   SPL采用轻量级技术,自然更容易安装、配置和运行维护。SPL不仅可以作为独立服务器使用,还很容易集成到需要高性能计算的应用中,比如即时查询系统,只要引入几个jar包即可。Hadoop则很难集成,只能在边上作为一个数据源运行。有些临时性数据需要随时进行处理,则可使用SPL的桌面集成开发环境可视化地计算,快速得到结果。如果要安装部署Hadoop,那么等环境搭建好时临时数据任务已经过期了。   前面展示的众多SPL高性能算法,也能让大数据计算编程变得简单。程序员可以在较短时间内掌握这些算法函数,学*成本相对较低。而且,使用这些现成的函数很容易实现各种复杂的计算需求,不仅比MapReduce/Scala简单,比SQL也简单很多。   比如,以电商网站常见的漏斗分析为例,用SQL实现三步漏斗的代码大致如下:   with e1 as (     select gid,1 as step1,min(etime) as t1     from T     where etime>= to_date('2021-01-10', 'yyyy-MM-dd') and etime<to_date('2021-01-25', 'yyyy-MM-dd')         and eventtype='eventtype1' and …     group by 1 ), with e2 as (     select gid,1 as step2,min(e1.t1) as t1,min(e2.etime) as t2     from T as e2     inner join e1 on e2.gid = e1.gid     where e2.etime>= to_date('2021-01-10', 'yyyy-MM-dd') and e2.etime<to_date('2021-01-25', 'yyyy-MM-dd')  and e2.etime > t1         and e2.etime < t1 + 7         and eventtype='eventtype2' and …     group by 1 ), with e3 as (     select gid,1 as step3,min(e2.t1) as t1,min(e3.etime) as t3     from T as e3     inner join e2 on e3.gid = e2.gid     where e3.etime>= to_date('2021-01-10', 'yyyy-MM-dd') and e3.etime<to_date('2021-01-25', 'yyyy-MM-dd')  and e3.etime > t2         and e3.etime < t1 + 7         and eventtype='eventtype3' and …     group by 1 ) select     sum(step1) as step1,     sum(step2) as step2,     sum(step3) as step3 from     e1     left join e2 on e1.gid = e2.gid     left join e3 on e2.gid = e3.gid SQL写出来要三十多行,理解起来有相当的难度。如果用MapReduce/Scala来写,会更加困难。即使是用SQL实现,写出来的这段代码和漏斗的步骤数量相关,每增加一步就要再增加一段子查询。   相比之下,SPL 就简单得多,处理任意步骤数都是下面这样简洁的代码:   A    B 1    =["etype1","etype2","etype3"]    =file("event.ctx").open() 2    =B1.cursor(id,etime,etype;etime>=date("2021-01-10") && etime<date("2021-01-25") && A1.contain(etype) && …) 3    =A2.group(id).(~.sort(etime))    =A3.new(~.select@1(etype==A1(1)):first,~:all).select(first) 4    =B3.(A1.(t=if(#==1,t1=first.etime,if(t,all.select@1(etype==A1.~ && etime>t && etime<t1+7).etime, null)))) 5    =A4.groups(;count(~(1)):STEP1,count(~(2)):STEP2,count(~(3)):STEP3) SPL集群计算的代码也非常简单,比如前面提到的订单分析计算,具体要求是:大订单表分段存储在4个节点上,小产品表则加载到每个节点的内存中,两表关联之后要按照产品供应商分组汇总订单金额。用SPL写出来大致是下面这样:   A    B 1    ["192.168.0.101:8281","192.168.0.102:8281",…, "192.168.0.104:8281"] 2    fork to(4);A1    =file("product.ctx").open().import() 3        >env(PRODUCT,B2) 4    =memory(A1,PRODUCT) 5    =file("orders.ctx":to(4),A1).open().cursor(p_id,quantity) 6    =A5.switch(p_id,A4) 7    =A7.groups(p_id.vendor;sum(p_id.price*quantity)) 这段代码执行时,任务管理(内存加载、任务拆分、合并等)所需要的计算资源,远远小于关联和分组汇总计算的消耗。如此轻便的任务管理功能,可以在任意节点、甚至是集成开发环境IDE上执行。   成本低   与Hadoop相同,SPL也是开源软件,不同的是SPL不仅软件免费,综合成本也非常低。   SPL安装、配置、运维很容易,可以大大降低支持人员的人力资源成本。同时,由于SPL降低了大数据计算编程的难度,程序员很容易实现各种复杂的计算,开发效率显著提高,也就节省了程序员的人力资源成本。   而且,由于SPL技术体系非常轻,*台自身占用的CPU、内存和硬盘很少,可以让更多的资源用于业务计算,能大幅提高硬件利用率。SPL也不像Spark那样依赖大内存,总体来说,大大减少了硬件采购成本。   SPL既轻且快 SPL技术轻、自身消耗小,而且还提供了众多高性能算法,所以,在几个到几十个节点的集群,甚至单机的情况下,比Hadoop/Spark有更好的性能表现。   案例1:某电商漏斗分析计算。   Spark:6节点,每节点4CPU*,*均计算时间:25秒。 SPL:单机,8线程计算,*均计算时间可达10秒。代码量仅有Spark Scala的一半。 案例2:某大型银行用户画像分析。 Hadoop上某OLAP服务器:虚拟机100CPU*,计算时间:120秒。 SPL:虚拟机12CPU*,计算时间:仅4秒。性能提高250倍。 案例3:某商业银行的手机银行APP,活期明细查询,数据量大且高并发。 基于Hadoop的某商用数据仓库:高并发时无法达到秒级的响应速度,只好换用6台ES集群。 SPL单机:达到6台ES集群同样的并发和响应能力。 总结来说,Hadoop/Spark是源自头部互联网企业的重型解决方案,适合需要有超大规模集群的巨大企业。很多场景的数据虽然也不少,但小集群甚至无集群就足够处理,远没多到这些巨大企业的规模,也没有那么多的硬件设备和维护人员。这种情况下,轻量级的大数据计算引擎SPL是首选,投入很低的成本,就可以做到技术轻、使用简便,而且还能提高开发效率、达到更高的性能。 ———————————————— 版权声明:本文为CSDN博主「石臻臻的杂货铺」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u010634066/article/details/126037010 ​
  • [技术干货] 基于Echarts构建大数据招聘岗位数据可视化大屏-转载
     1.项目背景         “大数据”作为一种概念和思潮由计算领域发端,之后逐渐延伸到科学和商业领域。大多数学者认为,“大数据”这一概念最早公开出现于1998年,美国高性能计算公司SGI的首席科学家约翰·马西(John Mashey)在一个国际会议报告中指出:随着数据量的快速增长,必将出现数据难理解、难获取、难处理和难组织等四个难题,并用“Big Data(大数据)”来描述这一挑战,在计算领域引发思考。大数据是信息技术发展的必然产物,更是信息化进程的新阶段,其发展推动了数字经济的形成与繁荣。信息化已经历了两次高速发展的浪潮,始于上世纪80年代,随个人计算机大规模普及应用所带来的以单机应用为主要特征的数字化(信息化1.0),及始于上世纪90年代中期,随互联网大规模商用进程所推动的以联网应用为主要特征的网络化(信息化2.0)。当前,我们正在进入以数据的深度挖掘和融合应用为主要特征的智能化阶段(信息化3.0)。党的十八届五中全会将大数据上升为国家战略。回顾过去几年的发展,我国大数据发展可总结为:“进步长足,基础渐厚;喧嚣已逝,理性回归;成果丰硕,短板仍在;势头强劲,前景光明”。我国互联网大数据领域发展态势良好,市场化程度较高,一些互联网公司建成了具有国际领先水平的大数据存储与处理平台,并在移动支付、网络征信、电子商务等应用领域取得国际先进甚至领先的重要进展。          鉴于目前大数据行业前景广阔,作为应届生的我们,有必要研究目前大数据相关招聘岗位的信息,通过对大数据岗位的分析了解大数据相关岗位的薪资情况、应聘要求、地区分布等,有助于我们提前知晓大数据岗位情况及时做出准备,从而毕业后能如愿进入相关企业相关岗位。  2.项目简介 本次项目是使用Echarts构建大数据招聘岗位信息可视化大屏,使用到的技术为前端三剑客(html、css、javascript)。项目最终效果如下:   3.项目流程 3.1整体布局         首先我们将大屏划分为6个板块,左上角用条形图和折线图双轴图表可视化工作经验要求及对应的平均薪资情况;左下角用环形饼图可视化学历要求的占比情况;中间上部分用仪表盘来展示总岗位数量、岗位最多的城市、薪资最高的城市、岗位最多的公司等数据;中间下用词云图来展示大数据相关岗位名称;右上角和左上角图表使用一样,展示的是岗位最多的前五名城市及其对应的平均薪资情况;右下角用添加了光滑属性的线图来展示2022年最近半年内的岗位需求量变化情况。  整体html样式代码如下:  <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>全国大数据招聘信息可视化大屏</title>     <link rel="stylesheet" href="main.css">     <script src="echarts.min.js"></script>     <script src="jquery-3.6.0.min.js"></script>     <script src="echarts-wordcloud.min.js"></script> </head> <body>   <div class="title">全国大数据岗位招聘信息</div>   <div class="tim"></div>   <script>     var t = null;     t = setTimeout(time, 1000); //开始运行     function time() {         clearTimeout(t); // 清除定时器         dt = new Date();         var y = dt.getFullYear();         var mt = dt.getMonth() + 1;         var day = dt.getDate();         var h = dt.getHours();         var m = dt.getMinutes();         var s = dt.getSeconds();         document.querySelector(".tim").innerHTML =              "当前时间:" + y + "年" + mt + "月" + day + "日" +              "-" + h + "时" + m + "分" + s + "秒";         t = setTimeout(time, 1000);     } </script>   <div class="l1" id="l1"></div>   <div class="l2" id="l2"></div>   <div class="c1">     <div class="num"><h1>4234</h1></div>     <div class="num"><h1>上海</h1></div>     <div class="num"><h1>广州</h1></div>     <div class="num"><h1>字节跳动</h1></div>     <div class="txt"><h2>岗位数量</h2></div>     <div class="txt"><h2>岗位最多的城市</h2></div>     <div class="txt"><h2>薪资最高的城市</h2></div>     <div class="txt"><h2>岗位最多的公司</h2></div>   </div>     <div class="c2" id="main" ></div>     <div class="r1" id="r1"></div>     <div class="r2" id="r2"></div>      <script src="ec_l1_data.js"></script>    <script src="ec_l2_data.js"></script>    <script src="ec_r1_data.js"></script>    <script src="ec_r2_data.js"></script>    <script src="ec_main_data.js"></script> </body> </html>  var ec_left2 = echarts.init(document.getElementById('l2'),"dark"); var ec_left2_option = {     //标题样式     title : {         text : "学历要求",         textStyle : {             color : 'white',         },         left : 'left'     }, tooltip: {     trigger: 'item'   },   legend: {     top: '5%',     left: 'center'   },   series: [     {       name: '数量',       type: 'pie',       radius: ['40%', '70%'],       avoidLabelOverlap: false,       label: {         show: false,         position: 'center'       },       emphasis: {         label: {           show: true,           fontSize: '40',           fontWeight: 'bold'         }       },       labelLine: {         show: false       },       data: [         { value: 1714, name: '本科' },         { value: 462, name: '硕士' },         { value: 150, name: '博士' },         { value: 386, name: '专科及以下' }       ]     }   ] };   ec_left2.setOption(ec_left2_option) 效果如下:   3.3中间布局  中间主要是仪表盘(html中已体现)和词云图。  注:词云图需要下载echarts-wordcloud.min.js  词云图js代码如下:  var ec_main = echarts.init(document.getElementById('main'), "dark"); var ec_main_option = {     tooltip: {         show: false     },     series: [{         type: 'wordCloud',         gridSize: 1,         sizeRange: [12, 55],         rotationRange: [-45, 0, 45, 90],         textStyle: {             normal: {                 color: function () {                     return 'rgb(' +                         Math.round(Math.random() * 255) +                         ', ' + Math.round(Math.random() * 255) +                         ', ' + Math.round(Math.random() * 255) + ')'                 }             }         },         right: null,         bottom: null,         data: [{'name': '数据', 'value': 2252}, {'name': '大数', 'value': 2053}, {'name': '工程师', 'value': 1321}, {'name': '开发', 'value': 985}, {'name': '分析', 'value': 255}, {'name': '数据分析', 'value': 230}, {'name': '经理', 'value': 196}, {'name': '分析师', 'value': 154}, {'name': '高级', 'value': 136}, {'name': '架构', 'value': 131}, {'name': '方向', 'value': 128}, {'name': '平台', 'value': 127}, {'name': '架构师', 'value': 125}, {'name': '研发', 'value': 120}, {'name': '产品', 'value': 111}, {'name': '销售', 'value': 73}, {'name': '测试', 'value': 62}, {'name': '数据测试', 'value': 50}, {'name': '技术', 'value': 46}, {'name': '项目', 'value': 45}, {'name': '专家', 'value': 45}, {'name': '资深', 'value': 45}, {'name': '助理', 'value': 42}, {'name': '客户', 'value': 40}, {'name': '大客', 'value': 38}, {'name': '高级工', 'value': 36}, {'name': '运营', 'value': 32}, {'name': '接受', 'value': 32}, {'name': '双休', 'value': 31}, {'name': '应届', 'value': 31}, {'name': '软件', 'value': 30}, {'name': '实习', 'value': 29}, {'name': '试工', 'value': 29}, {'name': '中级', 'value': 27}, {'name': '算法', 'value': 27}, {'name': '中心', 'value': 26}, {'name': '实习生', 'value': 25}, {'name': '项目经理', 'value': 25}, {'name': '总监', 'value': 25}, {'name': '系统', 'value': 21}, {'name': '解决', 'value': 21}, {'name': '解决方案', 'value': 21}, {'name': '方案', 'value': 21}, {'name': '顾问', 'value': 21}, {'name': '数据项', 'value': 20}, {'name': '信息', 'value': 19}, {'name': '北京', 'value': 19}, {'name': '业大', 'value': 18}, {'name': '教师', 'value': 18}, {'name': '城市', 'value': 18}, {'name': '师资', 'value': 17}, {'name': '讲师', 'value': 16}, {'name': '研究', 'value': 16}, {'name': '管理', 'value': 16}, {'name': '智慧', 'value': 15}, {'name': '负责', 'value': 15}, {'name': '负责人', 'value': 15}, {'name': '责人', 'value': 15}, {'name': '电商', 'value': 15}, {'name': '台架', 'value': 15}, {'name': '专员', 'value': 14}, {'name': '政务', 'value': 14}, {'name': '咨询', 'value': 14}, {'name': '数据安全', 'value': 14}, {'name': '台大', 'value': 14}, {'name': '据实', 'value': 13}, {'name': '实施', 'value': 13}, {'name': '服务', 'value': 13}, {'name': '数据中心', 'value': 13}, {'name': '流量', 'value': 13}, {'name': '理工', 'value': 12}, {'name': '据云', 'value': 12}, {'name': '计算', 'value': 12}, {'name': '人大', 'value': 12}, {'name': '经验', 'value': 11}, {'name': '治理', 'value': 11}, {'name': '软件开发', 'value': 11}, {'name': '数据挖掘', 'value': 11}, {'name': '挖掘', 'value': 11}, {'name': '后端', 'value': 11}, {'name': '前端', 'value': 11}, {'name': '医药', 'value': 10}, {'name': '数据仓库', 'value': 10}, {'name': '仓库', 'value': 10}, {'name': '售前', 'value': 10}, {'name': '需求', 'value': 10}, {'name': '智能', 'value': 10}, {'name': '实时', 'value': 10}, {'name': '中台', 'value': 10}, {'name': '试开', 'value': 10}, {'name': '联网', 'value': 9}, {'name': '客户经理', 'value': 9}, {'name': '业务', 'value': 9}, {'name': '研究员', 'value': 9}, {'name': '营销', 'value': 9}, {'name': '数据系统', 'value': 9}, {'name': '金融', 'value': 9}, {'name': '企业', 'value': 9}, {'name': '银行', 'value': 9}, {'name': '建模', 'value': 8}, {'name': '区域', 'value': 8}, {'name': '施工', 'value': 8}, {'name': '交付', 'value': 8}, {'name': '引擎', 'value': 8}, {'name': '广告', 'value': 8}, {'name': '数据处理', 'value': 7}, {'name': '行业', 'value': 7}, {'name': '人员', 'value': 7}, {'name': '设计', 'value': 7}, {'name': '软件工程', 'value': 7}, {'name': '开源', 'value': 7}, {'name': '可视', 'value': 7}, {'name': '可视化', 'value': 7}, {'name': '成都', 'value': 7}, {'name': '政府', 'value': 6}, {'name': '财务', 'value': 6}, {'name': '互联', 'value': 6}, {'name': '互联网', 'value': 6}, {'name': '信息化', 'value': 6}, {'name': '科学', 'value': 6}, {'name': '加班', 'value': 6}, {'name': '设计师', 'value': 6}, {'name': '前端开发', 'value': 6}, {'name': '主管', 'value': 6}, {'name': '级数', 'value': 6}, {'name': '产业', 'value': 5}, {'name': '老师', 'value': 5}, {'name': '数据管理', 'value': 5}, {'name': '商务', 'value': 5}, {'name': '深圳', 'value': 5}, {'name': '上海', 'value': 5}, {'name': '数据库', 'value': 5}, {'name': '据库', 'value': 5}, {'name': '市运', 'value': 5}, {'name': '博士', 'value': 5}, {'name': '录入', 'value': 5}, {'name': '备份', 'value': 5}, {'name': '时数', 'value': 5}, {'name': '直播', 'value': 5}, {'name': '团队', 'value': 5}, {'name': '离线', 'value': 5}, {'name': '武汉', 'value': 5}, {'name': '短视', 'value': 5}, {'name': '包住', 'value': 4}, {'name': '合肥', 'value': 4}, {'name': '运营商', 'value': 4}, {'name': '营商', 'value': 4}, {'name': '遥感', 'value': 4}, {'name': '地铁', 'value': 4}, {'name': '商业', 'value': 4}, {'name': '人工', 'value': 4}, {'name': '人工智能', 'value': 4}, {'name': '会计', 'value': 4}, {'name': '安全工程', 'value': 4}, {'name': '亚马', 'value': 4}, {'name': '亚马逊', 'value': 4}, {'name': '提供', 'value': 4}, {'name': '供住', 'value': 4}, {'name': '住宿', 'value': 4}, {'name': '主任', 'value': 4}, {'name': '不加', 'value': 4}, {'name': '底薪', 'value': 4}, {'name': '火山', 'value': 4}, {'name': '存储', 'value': 4}, {'name': '商大', 'value': 4}, {'name': '研究院', 'value': 4}, {'name': '模型', 'value': 4}, {'name': '脱敏', 'value': 4}, {'name': '师实', 'value': 4}, {'name': '电信', 'value': 4}, {'name': '科技', 'value': 4}, {'name': '技术部', 'value': 4}, {'name': '国际', 'value': 4}, {'name': '集成', 'value': 4}, {'name': '岗位', 'value': 4}, {'name': '代表', 'value': 3}, {'name': '数据业务', 'value': 3}, {'name': '自动', 'value': 3}, {'name': '驾驶', 'value': 3}, {'name': '质量', 'value': 3}, {'name': '工业', 'value': 3}, {'name': '中高', 'value': 3}, {'name': '中高级', 'value': 3}, {'name': '招商', 'value': 3}, {'name': '市场', 'value': 3}, {'name': '初级', 'value': 3}, {'name': '与会', 'value': 3}, {'name': '会计专业', 'value': 3}, {'name': '驻场', 'value': 3}, {'name': '工大', 'value': 3}, {'name': '录入员', 'value': 3}, {'name': '年底', 'value': 3}, {'name': '班底', 'value': 3}, {'name': '网络', 'value': 3}, {'name': '评估', 'value': 3}, {'name': '员工', 'value': 3}, {'name': '报销', 'value': 3}, {'name': '增长', 'value': 3}, {'name': '营工', 'value': 3}, {'name': '国内', 'value': 3}]     }] }   ec_main.setOption(ec_main_option); 效果如下:     3.4右边布局 右边也分为上下两部分。  右上js代码:  var ec_right1 = echarts.init(document.getElementById('r1'),"dark"); var ec_right1_option = {     //标题样式     title : {         text : "岗位最多的前五名城市",         textStyle : {             color : 'white',         },         left : 'left'     },       color: ['#3398DB','#EE6666'],         tooltip: {             trigger: 'axis',             axisPointer: {            // 坐标轴指示器,坐标轴触发有效                 type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'             }         },     xAxis: {         type: 'category',         color : 'white',         data: ['上海', '北京', '深圳', '广州', '杭州']     },     yAxis: [{         type: 'value',          color : 'white',     },     {         type: 'value',         name: '月薪',         color : 'white',         axisLabel: {           formatter: '{value}'         }       } ],     series: [{         data: [372, 362, 293, 209, 146],         type: 'bar',         barMaxWidth:"50%"     },     {         name: '薪资',         type: 'line',         yAxisIndex: 1,         tooltip: {           valueFormatter: function (value) {             return value;           }         },         data: [33468,27907,31490,48702,31943 ]       } ] }; ec_right1.setOption(ec_right1_option) 效果如下:    右下js代码:  var ec_right2 = echarts.init(document.getElementById('r2'), "dark"); var ec_right2_option = {     // backgroundColor: '#515151',     tooltip: {         trigger: 'axis',         //指示器         axisPointer: {             type: 'line',             lineStyle: {                 color: '#7171C6'             }         },     },     legend: {         data: ['岗位需求'],         left: "right"     },     //标题样式     title: {         text: "2022年最近半年岗位需求量变化",         textStyle: {             color: 'white',         },         left: 'left'     },     //图形位置     grid: {         left: '4%',         right: '6%',         bottom: '4%',         top: 50,         containLabel: true     },     xAxis: [{         type: 'category',         data: ['5月', '6月', '7月', '8月', '9月', '10月', '11月']     }],     yAxis: [{         type: 'value',         //y轴线设置显示         axisLine: {             show: true         },         position:'left',         axisLabel: {             show: true,             color: 'white',             fontSize: 12         },         //与x轴平行的线样式         splitLine: {             show: true,             lineStyle: {                 width: 1,             }         }     },     {         type: 'value',         //y轴线设置显示         axisLine: {             show: true         },         position:'right',         axisLabel: {             show: true,             color: 'white',             fontSize: 12,             formatter: function(value) {                 return value;             }         },         //与x轴平行的线样式         splitLine: {             show: true,             lineStyle: {                 width: 1,             }         }     }     ],     series: [{         name: "岗位量",         type: 'line',         smooth: true,         yAxisIndex:0,         data: [   357,   468,   792,   499,   820,  760, 687]     }] };   ec_right2.setOption(ec_right2_option);  效果如下:  ———————————————— 版权声明:本文为CSDN博主「艾派森」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/m0_64336780/article/details/128735747 
  • [二次开发] FusionInsight HD 6517版本集群,hbase如何实现两张表数据一致性比对?
    FusionInsight HD 6517版本集群,hbase如何实现两张表数据一致性比对?
  • [交流吐槽] 数聚变API开放生态平台赋能电力企业数字化转型
    数据服务的共享开放作为企业内部发展的重要因素,已经被越来越多的企业所重视,但在此过程中,不少企业内部存在很多问题:一方面存在严重的数据孤岛现象,多个业务系统之间数据难以打通,业务衔接不够顺畅,导致用户使用系统会更加复杂,数字化作用失效;另一方面数据共享开放的需求明显,但是数据安全无法保障,部分企业客户倾向于线下提供数据进行共享,会导致数据无法实时更新而且无法控制数据的流向。这两大问题既无法提高企业的业务效能,也影响到数据的安全。基于此,数聚变开放生态平台帮助企业构建服务共享体系,促进资源打通,实现数字能力开放、协同、融合、聚变,驱动行业进化。这其中主要包含以下五个核心功能:一、数据采集转发软硬件一体化方案,实现电力企业各类数据共享打通,全方位保障数据安全。穿透电力行业网络分区限制,符合电力行业安全标准。支持百余种电力及工业通讯协议的数据采集转发,一站式交付服务为项目落地保驾护航。设备、协议统一管理,设备模型快速映射,沉淀企业数据资产。二、数据集成共享从数据层面解决数据孤岛和数据不一致性问题。通过集成各系统的多种异构数据源来实现数据的即时聚合、分发和共享。同时,我们实现了多个业务系统之间的即时数据同步,确保业务操作的连接性并精确传输数据。三、数据开放要素流通覆盖“采”“存”“管”“用”“服”数据链路,实现数据高效便捷流通。整合数据资源,提升数据质量,保障数据安全,衍生数智应用,释放数据价值。通过数据共享、数据开放和数据交易促进数据流通,加快数据要素资源化-资产化-资本化进程。四、企业数字化咨询深耕新能源领域,洞察行业先机,促进数字化重塑。提供覆盖行业政策解读,企业战略研究,业务调研及数智化提升的全链路数字化转型规划方案。帮助企业快速定位数字化转型痛点,从业务、应用、数据、技术多位切入,全方面规划转型蓝图,合理化布局转型演进路线。五、API全生命周期管理建立贯穿API创建-分类-发布-调用-下架全生命周期标准化管理体系。全方位API服务调用监控告警,保障服务链路安全合规。构建企业API资产目录,帮助企业沉淀API能力资产,提升API服务可复用性,促进API价值最大化。数聚变将利用数智技术解决各类数据要素融合以及安全交换问题,构建全方位的数据开放共享的生态体系!关于平台的更多详细信息请访问:http://apifusion.goldwind.com
  • [运维管理] Kafka集群为什么会建议集群总分区数不超过10000?
    Kafka集群为什么会建议集群总分区数不超过10000?总分区数要减去副本分区数不?
  • [问题求助] 麒麟V10SP2 X86架构安装AMBARI+HDP nothing provides redhat-lsb问题
    nothing provides redhat-lsb needed by hadoop_3_1_5_0_152-3.1.1.3.1.5.0-152.x86_64对相关脚本已经做了处理OScheck yum script等
  • [运维宝典] 延长kadmin/admin用户密码有效期
    因FusionInsight MRS 8.x版本集群的LDAP管理员密码是系统随机生成,所以要进行以下步骤操作。 #登录客户端所在节点,切换omm用户执行 su - omm #1、获取密文 cd /opt/huawei/Bigdata/FusionInsight_BASE_8.1.2.2/1_3_KerberosServer/etc vim ENV_VARS #获取LDAP_SERVER_PASSWD后面的密文  #2、查找到解密脚本 cd /opt/huawei/Bigdata/om-server/om/tools #修改解密脚本(解密完记得要改回去) vim recoveryRealm.sh  #3、执行脚本对LDAP的root用户进行解密 ./recoveryRealm.sh 密文 #获取返回结果即密码  #4、查看ldaps参数信息及域名信息 ps -ef |grep ldap | grep 21750  #5、查看kadmin相关信息 ldapsearch -H ldap://xxx.xx.xx.xx:21750 -LLL -x -D cn=root,dc=hadoop,dc=com -w '第三步获取的密码' -b krbPrincipalName=kadmin/admin@本地域名,cn=本地域名,cn=krbcontainer,dc=hadoop,dc=com #其中krbLastPwdChange是最后一次更改密码时间 #其中krbPasswordExpiration是密码有效期  #6、执行下面语句将密码有效期延长(时间自己定) ldapsearch -H ldap://xxx.xx.xx.xx:21750 -LLL -x -D cn=root,dc=hadoop,dc=com -w '第三步获取的密码' <<EOF dn: krbPrincipalName=kadmin/admin@本地域名,cn=本地域名,cn=krbcontainer,dc=hadoop,dc=com changetype: modify replace: krbPasswordExpiration 从第五步获取的krbPasswordExpiration这一行粘贴到这并修改时间 EOF  #7、在执行第五步看看密码有效期是否更新  #8、可以重新生成keytab文件,使用keytab文件认证kadmin cd /opt/huawei/Bigdata/om-server/om/meta-0.0.1-SNAPSHOT/kerberos/scripts/ ./genkeytab.sh kadmin/admin /home/omm/kadmin.keytab keytab kadmin -p kadmin/admin -kt /home/omm/kadmin.keytab 
  • [技术干货] 【转载】什么是不经意传输?
    不经意传输(oblivious transfer)是一个密码学协议,在这个协议中,消息发送者从一些待发送的消息中发送一条给接收者,但事后对发送了哪一条消息仍然oblivious(不知道),这个协议也叫茫然传输协议。第一种形式的不经意传输(oblivious transfer),最初是在1981由Michael O.Rabin提出,在这种不经意传输中,发送者Alice发送一条消息给接收着Bob,而Bob以1/2的概率接收到信息,在结束后Alice并不知道Bob是否接收到了信息,而Bob能确信地知道自己是否收到了信息。另一种更实用的不经意传输协议,被称为2选一不经意传输(1 out 2 oblivious transfer)由 Shimon Even, Oded Goldreich, 和Abraham Lempel 在1985年提出,在这种形式的不经意传输模型中,Alice每次发两条信息(m1、m2)给Bob,Bob提供一个输入,并根据输入获得输出信息,在协议结束后,Bob得到了自己想要的那条信息(m1或者m2),而Alice并不知道Bob最终得到的是哪条。转自https://zhuanlan.zhihu.com/p/208295083
  • [赋能学习] Pyhive连接MRS集群HIVE
    1 安装Python环境1.1 安装Miniconda conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同Python版本的软件包及其依赖,并能够在不同的Python环境之间切换,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等,Miniconda包括Conda、Python。 此处,我们不需要如此多的工具包,故选择MiniConda。1)下载Miniconda(Python3版本)下载地址:cid:link_0 2)安装Miniconda (1)执行以下命令进行安装,并按照提示操作,直到安装完成。bash Miniconda3-py38_23.1.0-1-Linux-x86_64.sh在安装过程中,出现以下提示时,可以指定安装路径 出现以下字样,即为安装完成 3)加载环境变量配置文件,使之生效source ~/.bashrc4)取消激活base环境Miniconda安装完成后,每次打开终端都会激活其默认的base环境,我们可通过以下命令,禁止激活默认base环境。 conda config --set auto_activate_base false1.2 创建Python3.6以上环境conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --set show_channel_urls yes2)创建Python环境conda create --name superset python=3.8 说明:conda环境管理常用命令创建环境:conda create -n env_name查看所有环境:conda info --envs删除一个环境:conda remove -n env_name --all1.3 适配环境下载相关依赖进入Miniconda3所在目录下bin执行 ./pip3 install pyhive==0.6.1 --force-reinstall ./pip3 install thrift==0.16.0 --force-reninstall ./pip3 install thrift-sasl==0.4.3 ./pip3 install pure-sasl==0.6.2 ./pip3 install sasl==0.3.修改源代码,将域名写死 vim /opt/miniconda3/lib/python3.8/site-packages/pyhive/hive.py添加kerberos_service_host参数 1.4 通过python代码连接hive./python3import os from pyhive import hive host='x.x.x.x' port=21066 auth='KERBEROS' kerberos_service_name='hive' kerberos_service_host='hadoop.hadoop.com' os.system('source /opt/140client/bigdata_env') os.system('echo password | kinit user') with hive.connect(host=host, port=port, auth=auth, kerberos_service_host=kerberos_service_host, kerberos_service_name=kerberos_service_name) as conn: with conn.cursor() as cur: cur.execute("show tables") for i in cur.fetchall(): print(i)注:host是hive对应实例节点,需提前在页面查看然后填写查看Hive数据库中表
  • [问题求助] openEuler 20.03系统默认python2,ambari2.x无法 x86_64安装,那里可以找到适配过的包啊
    openEuler 20.03系统默认python2,ambari2.x无法 x86_64安装,那里可以找到适配过的包啊