中国南方电网有限责任公司(英文:China Southern Power Grid Company Limited,中文简称:南方电网)属国资委监管的中央企业 ,总部位于广州。公司于2002年12月29日正式挂牌成立,供电区域为广东、广西、云南、贵州和海南五省及港澳地区,从事电力购销业务,负责电力交易与调度;从事国内外投融资业务;自主开展外贸流通经营、国际合作、对外工程承包和对外劳务合作等业务。
公司总部设有20个部门,下设南网总调、后勤管理中心、年金中心、档案中心4个直属机构;超高压公司、南网培训中心(南网党校、领导力学院)、北京分公司3家分公司;广东、广西、云南、贵州、海南电网公司,深圳供电局、调峰调频公司、产业投资集团、鼎元资产公司、资本控股公司、南网国际公司、南网数字集团、南网物资公司、南网能源院14家全资子公司;南网能源公司、南网财务公司、鼎和保险公司、云南国际公司、南网科研院、广州电力交易中心、南网传媒公司7家控股子公司。员工总数近29万人。
南方电网覆盖五省区,并与香港、澳门地区以及东南亚国家的电网相联,供电面积100万平方公里。供电人口2.54亿人,供电客户1.07亿户。2021年,全网统调最高负荷2.16亿千瓦,增长8.2%;南方五省区全社会用电量14056亿千瓦时,增长11.1%;非化石能源电量占比48.9%。
中国南方电网有限责任公司超高压输电公司(简称超高压公司),是南方电网公司的分公司,前身最早为原水利电力部于1984年成立的华南电网办公室,先后改组、更名为中国南方电力联营公司、国家电力公司南方公司。2002 年底,南方电网公司成立后,改组为南方电网公司分公司,履行南方电网骨干网架和重要联络线的规划参与者、建设执行者、运行维护者、经营管理者职责。
超高压公司所辖西电东送主网架覆盖广东、广西、云南、贵州、海南五省(区),所辖各单位及其分支机构分布在广东广州,广西南宁、柳州、梧州、百色,云南昆明、曲靖、大理,贵州贵阳、兴义,海南海口等11个地区。
截至2021年,超高压公司已建成“八交十直”共18条西电东送大通道,公司运维 500kV及以上线路长度为23711km,其中800千伏线路6195千米、海底电缆7×30.5千米,通道设计送电能力5660万千瓦。
广东电网有限责任公司注册资本668亿元。前身为广东省广电集团有限公司,2005年3月31日更名为广东电网公司,2014年6月4日更名为广东电网有限责任公司。公司拥有变电站2692座(其中500千伏变电站59座),变电容量5.29亿千伏安,输电线路总长度8.975万千米,资产总额4156.01亿元,是全国规模最大的省级电网公司之一。
广东电网有限责任公司负责投资、建设和经营管理广东省20个地级市(不含深圳市)的电网,供电面积17万平方公里,供电客户4596.49万户,供电人口超过1亿人,并为香港、澳门提供电力供应。2016年,广东电网成为全国首个统调负荷突破1亿千瓦的省级电网,超过韩国、澳大利亚等发达国家全国电力负荷。
广东电网有限责任公司现有员工10.45万人,其中博士研究生246人、硕士研究生5953人。公司设有博士后科研工作站,拥有省部级重点实验室2个、工程技术研究中心4个,在电网运行、电力调度、信息通信、检测试验、综合能源等多个业务领域具有较强的科技创新和自主研发能力,拥有发明专利4964件。
广西电网公司是南方电网公司的全资子公司,位于南方电网五省区的中部,主营电网经营和电力投资、建设、生产、购销、修配、咨询等业务以及电力科学研究、技术开发、技术监督、技术服务、发电、输变电及配套电力工程承试、电动汽车充电设施建设运营等相关业务,承担着为广西经济社会发展提供可靠优质电力保障的重任。
截至2021年底,广西电网供电服务覆盖范围23.76万平方公里,供电客户数2082万户。2021年售电量1729亿千瓦时,同比增长13.9%,增速南方电网公司排名第一;全口径客户平均停电时间9.05小时/户,同比下降21.78%;综合电压合格率99.4%”。
云南电力的历史始于1910年创办的商办耀龙电灯公司。1950年7月,国家成立了云南省电力工业局。1993年,为适应改革的需要,成立云南省电力公司,与云南省电力工业局实行两块牌子、一套人马管理的体制。1998年10月,云南省电力公司改制为云南电力集团有限公司,成为国家电力公司的子公司2001年12月,国家经贸委撤销云南省电力工业局有关电力行政管理职能移交有关经济综合管理部门。2002年12月,国家进行电力体制改革,将国家电力公司拆分为2家电网公司和5家发电集团,云南电力集团有限公司成为中国南方电网有限责任公司的全资子公司。2004年11月,云南电力集团有限公司正式更名为云南电网公司。2014年9月,云南电网公司正式更名为云南电网有限责任公司。
南方电网云南电网公司供电营业区覆盖 16 个州市。本部设 19 个部门,下设31个二级单位,是云南省域电网运营和交易的主体,承担西电东送和向越南、老挝送电的任务,是云南省实施“西电东送”“云电外送”和培育电力支柱产业的重要企业。
贵州电网有限责任公司负责贵州电网的统一规划、建设、管理和调度,经营中央在黔国有电网资产,承担着贵州省内电力供应和西电东送双重任务。供电面积17余万平方千米,供电户数1788余万户。公司现有职能部门20个、直属机构7个、地市供电局10个,现有员工3.94万人。
2021年,公司完成售电量1761.7亿千瓦时,同比增长1%。其中,省内1352.7亿千瓦时,增长9.3%;西电东送409.0千瓦时(黔电送粤398.3亿千瓦时)。统调最高负荷2832万千瓦。
贵州电网目前已初步形成了“三横一中心”500千伏主网架,各市州实现500千伏电网全覆盖、220千伏电网环形或多回路主干供电,基本建成城市保底电网。现有“五交三直”(500千伏山河双回、黎桂双回、天金线和兴安直流、高肇直流、云贵互联通道直流)通道与南方主网并联运行,黔电送粤能力895万千瓦。截至2022年3月,公司拥有35千伏及以上输电线路3065回、长度5.48万千米,变电站1517座、主变2576台、主变容量12424万千伏安。
海南电网公司是中国南方电网公司的全资子公司,对海南电网实施统一规划、统一建设、统一调度、统一管理,直接为海南经济社会发展和人民生活提供电力服务保障。、
海南电网公司实行省公司直管市县供电局两级管理,本部设置18个职能部门、直属机构13个,下辖单位30家,包括19家供电局、5家按分公司管理的单位、5家全资子公司和1家控股子公司。现有员工9264人。
截至2021年6月底,全省已建成220千伏“目”字型环岛双环网主网架,输电线路总长1.15万公里,配电线路总长3.94万公里。全省统调装机总容量868.5万千瓦,其中清洁能源装机占比(含气电)68.2%。乡镇、行政村和自然村通电率均达100%。供电户数328万户。
1979年,南方电网深圳供电局伴随着深圳改革开放的步伐正式成立。2012年,在南方电网公司的部署下,正式注册为深圳供电局有限公司,成为南方电网公司直接管理的省级全资子公司(与广东、广西、云南、贵州、海南电网公司同为南方电网二级子公司)。2015年底成立董事会,进一步完善现代企业治理。
深圳供电局承担着深圳市及深汕特别合作区的供电任务,供电面积2421平方公里,供电客户333万户;资产总额552.54亿元,共有员工5020人;2020年营业收入563.8亿元,工业总产值562.5亿元。深圳电网是我国供电负荷密度最大、供电可靠性领先的超大型城市电网之一。
深圳供电局积极投身改革,认真落实全国首个输配电价改革试点任务,积极开展了前海增量配电网混合所有制改革,并成为全国唯一一家纳入国务院国资委国企改革“双百行动”试点的供电企业。
南方电网调峰调频发电有限公司(简称调峰调频公司)是中国南方电网有限责任公司的全资子公司,前身为中国南方电网有限责任公司调峰调频发电公司(中国南方电网有限责任公司的分公司,2006年11月成立),2018年1月1日整体改制为全资子公司,主要业务是投资、规划、建设、经营和管理调峰调频电厂。
截至2020年9月底,公司所辖投运电厂8座,总装机容量1072万千瓦,包括天生桥水力发电总厂、鲁布革水力发电厂、广州蓄能水电厂、惠州蓄能水电厂、清远抽水蓄能电站、深圳抽水蓄能电站、海南琼中抽水蓄能电站、海南文昌燃气—蒸汽联合循环电厂;在建抽水蓄能电站2座,装机容量240万千瓦,包括梅州抽水蓄能电站、阳江抽水蓄能电站;拥有国内首个兆瓦级电池储能站——深圳宝清电池储能站、广西南宁抽水蓄能电站、肇庆抽水蓄能电站、河源抽水蓄能电站、惠州中洞抽水蓄能电站、海南琼海燃气调峰电厂。
南方电网产业投资集团有限责任公司(简称“产业投资集团”)成立于2018年9月,是南方电网公司的全资子公司,注册资本人民币30亿元。产业投资集团是南方电网公司发展战略性新兴业务、推动数字化转型、推进技术和商业模式创新孵化的重要实施平台,是新兴业务投资和运营的重要主体。
旗下现有南方电网电动汽车服务有限公司、南方电网互联网服务有限公司、南方电网通用航空服务有限公司、广东南海电力设计院工程有限公司等21家参控股单位。
南方电网电动汽车服务有限公司(简称“南网电动公司”)是中国南方电网旗下专业从事电动汽车产业服务的企业,业务范围涵盖电动汽车服务全产业链,以能源服务为核心,以充电服务为基础,以服务出行为导向,搭建产业链生态平台,打造卓越的电动汽车服务运营商,电动汽车产业价值链整合商,绿色能源生态服务商。
南方鼎元资产运营有限责任公司(以下简称“鼎元资产公司”)是中国南方电网有限责任公司的全资子公司,成立于2017年3月,注册资本24亿元。办公地址位于广州市天河区珠江新城。
鼎元资产公司主要负责盘活南方电网公司系统内存量资产,统筹利用闲置土地及空置物业,提升资产运营效率。目前,在粤港澳大湾区、海南自贸港等国家重点发展区域,布局了多个重要土地资产项目。
鼎元资产公司下设南方电网鼎元(海南)资产运营有限责任公司1家控股企业,广州南网物业管理有限责任公司、广东鼎元双合企业管理有限责任公司、广东双合小水电发展有限责任公司3家参股企业。
南方电网综合能源股份有限公司成立于2010年12月,是国家发改委备案、国家工信部推荐的节能服务公司。主要从事节能服务,为客户能源使用提供诊断、设计、改造、综合能源项目投资及运营维护等一站式综合节能服务。公司在满足客户对各类能源(电、热、冷、蒸汽、压缩气体等)需求的同时,降低客户用能投资风险。
公司自成立以来,构建了覆盖节能设计、改造、服务等综合节能服务体系,打造了服务经济社会发展的绿色平台,建成了一大批在全国有影响力的大型节能减排示范项目,为客户提供一揽子的综合能源利用服务,是全国领先的工业节能、建筑节能、城市照明节能投资运营服务商。
南方电网资本控股有限公司(简称“南网资本控股公司”)是中国南方电网公司的全资子公司,成立于2017年4月21日,注册资本145亿元。我们定位为南方电网公司金融控股平台、资本运作平台、孵化发展平台、财务性投资平台。
我们紧密围绕南方电网公司新时代战略发展思路,致力于主动提供能源金融服务,助力电网产业转型发展。我们通过并购、新设、资本扩充等方式,迅速布局金融产业链,坚持传统金融与创新金融相结合,为客户提供多元化金融服务。
南方电网财务有限公司(以下简称南网财务公司)是中国南方电网有限责任公司的控股子公司,为中国银行业监督管理委员会批准设立的非银行金融机构。南网财务公司成立于2004年12月29日,截至2019年12月31日注册资本70亿元人民币。
按照《公司法》设股东会、董事会和监事会。本部设13个部门,分别是董事会工作部、人力资源部、计划与财务部、战略发展部、信贷部、金融投资部、资金结算部、国际业务部、数字化部、风控及法规部、审计部、党建工作部、监督部;1个直属机构,直属营业部。下设广西、云南、贵州、海南4个分公司。
南网财务公司主要为南方电网公司及其成员单位提供金融服务,截至2019年底,公司资产规模达660.64亿元,与2004年相比增长了14倍;经营收入28.62亿元,与2004年相比增长了118倍;利润总额18.72亿元,与2004年相比增长了186倍。
鼎和保险公司成立于2008年5月,总部设在深圳,注册资本为46.43亿元,系南方电网公司控股子公司。股东单位包括南方电网有限责任公司、广东、广西、云南、贵州、海南电网有限责任公司以及南网财务有限公司,中国长江电力股份有限公司,广州开发区投资集团有限公司,中国华电集团资本控股有限公司。目前成立了广东、广西、云南、贵州、海南、深圳、四川、上海、湖北、河南、江西、陕西、山东、河北、安徽15家省级机构,180余家三四级机构,形成了覆盖全国的营销及服务网络。
鼎和保险公司经营范围涵盖非寿险各个领域,包括机动车辆保险、财产损失保险、责任保险、信用保险和保证保险、短期健康和意外伤害保险、再保险、保险资金运用业务等。
南网国际公司于2007年成立,注册资本金6亿元。南网国际香港公司于2005年成立,当前注册资金53.5亿元人民币。南网国际公司与南网国际香港公司,按照“一套人马、两块牌子”的模式运作。
南网国际公司本部设有16个部门(其中:6个职能部门、10个业务部门),下设海外服务中心、对外贸易分公司、菲律宾MVIP直流项目部、驻智利代表处、驻卢森堡代表处、驻越南代表处以及驻迪拜代表处;控股越南永新一期电力有限公司、老挝南塔河1号电力有限公司;参股香港青山发电有限公司、智利川斯莱科输电股份公司、马来西亚埃德拉电力控股有限公司和卢森堡恩赛沃有限公司。截至2021年5月,南网国际公司员工总数274人,其中本部员工146人,境外机构128人。境外资产分布在东南亚、欧洲、拉美三大洲和港澳地区,资产总额410亿元。
2020年,实现净利润17.5亿元、同比增长17.6%,全部为非股东业务;经济增加值(EVA)12.2亿元、同比增长10.9%。公司连续三年获得南方电网公司经营业绩考核A级,在管制业务总体盈亏平衡的情况下,公司坚决扛起南方电网公司利润增长的责任担当。
南方电网云南国际有限责任公司(简称“云南国际公司”)是中国南方电网有限责任公司的二级子公司,代表南方电网公司履行国务院授权的大湄公河次区域电力合作中方执行单位职责,负责推进与越南、老挝、缅甸、泰国等周边国家电网互联互通、跨境电力贸易、境外工程承包、管理与技术咨询、人文交流等国际电力合作,资产总额16亿元,现通过13回110千伏及以上输电线路与越南、缅甸、老挝电网互联,累计实现国际电力贸易逾600亿千瓦时,与周边国家能源主管政府部门、电力企业建立了良好的互信合作关系。
云南国际公司目前正在积极推动与越南、老挝、缅甸等周边国家更高电压等级、更大送电范围的电网互联互通,与海内外企业在电力项目投资、建设、运营、管理等方面开展广泛合作,努力构建面向南亚东南亚安全、可靠、绿色、高效的跨区域国际智能电网。
云南国际公司本部办公地点位于云南昆明,在老挝、缅甸、泰国、柬埔寨设有代表处4个,境外参控股公司2家。
中国南方电网有限责任公司培训与评价中心(以下简称“南网培训中心”)成立于2011年,主要负责轮训培训南方电网公司系统三级副及以上党员领导干部、中青年后备干部和高层级技术技能人才,开展干部人才评价,国有企业党的建设理论、领导力发展体系建设的研究和教学等工作。
南网培训中心下设办公室、教务部、培训部、网络部、人才评价部、领导力教研部、党建教研部、组织人事部等8个部室,与南网党校、领导力学院合署办公。
中国南方电网有限责任公司北京分公司(以下简称“北京分公司”)于2020年4月成立,是中国南方电网有限责任公司分公司。
北京分公司立足北京面向系统内外进行资源整合、搭建能源产业价值链整合及战略性新兴业务培育平台,为各级政府提供政策研究、决策咨询、咨政建言服务,为南方电网公司及其分子公司提供研究与咨询共享服务,为北方地区(含雄安新区)提供企业、项目、产品孵化器(创新中心)服务。北京分公司坚持结构扁平、精简高效原则,公司设立综合管理部、战略协同部、党建人事部等职能部门,政策研究部、北方业务部(雄安事业部)等业务部门。
南方电网数字电网研究院有限公司(以下简称“南网数研院”)2019年7月成立于广州,注册资金20亿元,是中国南方电网有限责任公司全资子公司。南网数研院是南方电网公司打造智能电网、建设数字南网的主要承担者。
南网数研院坚持精简高效原则,设置办公室、创新与规划发展部、党建工作与人力资源管理部、财务部、市场营销与经营管理部、交流合作与培训部(博鳌智能电网国际论坛秘书处)、监督部、工会办公室8个职能部门,智能电网技术与标准研究所、智能用电与计量研究所、人工智能与芯片应用研究所、数字经济与智慧企业研究所4个研究所和智能输配电与智慧能源事业部、通信与物联网事业部、技术平台与数据事业部、综合应用事业部、财务金融应用事业部、营销交易应用事业部6个事业部,下设1家分公司、2家控股公司和3家参股公司;拥有一支高学历、年轻化、有活力的专业人才队伍,承担多项国家重大科技攻关任务和南方电网公司重大科研项目,在智能电网、数字电网领域发挥着重要科技研发作用。
南方电网物资有限公司(以下简称“南网物资公司”)是中国南方电网有限责任公司的全资子公司,办公地址位于广州市天河区天河体育中心。南网物资公司作为南方电网公司建设现代数字化供应链的共享服务平台企业,主要负责南方电网货物、工程、服务的招标代理、非招标采购代理服务,电子商务,供应商培训、咨询服务,合约、品控、物流服务以及供应链金融等。
根据南方电网公司供应链管理改革方案,南网物资公司于2021年整合广东电网公司物资公司、南网超高压公司南电物资公司。目前,南网物资公司下属南方电网供应链(广东)有限公司(原广东电网公司物资公司)、广东南电物资有限公司2家全资子公司,2021年预计营业收入近10亿元。
南方电网能源发展研究院有限责任公司(以下简称“南网能源院”)是中国南方电网公司的全资子公司,是南方电网的智库机构。
南网能源院负责承担支撑南方电网重大发展战略决策的综合性能源研究和工程项目咨询。主要开展宏观政策与经济发展研究,能源电力发展战略与改革研究,企业发展与管理决策支撑研究,电力规划研究,电力工程咨询、咨询评审,电力工程技术经济及定额管理,电力工程质量监督,相关标准编制,实验室运营管理,专业软件及其他产品开发与销售,刊物出版、发行和经营,国际、国内技术交流与项目合作等。
南网能源院于2017年3月开始筹备。8月正式发文成立“南方电网能源发展研究院有限责任公司”。南网能源业务开展方式包括:重点课题研究、科技项目研发、总部技术服务、电网规划及项目评审、造价及技经研究、工程质量管理研究及监督六大类,为南方电网公司的改革发展和管理决策提供强有力支撑,努力建成服务国家和南方电网公司的“思想库”、“信息库”和“人才库”。
广州电力交易中心有限责任公司于2016年3月1日挂牌成立,5月11日完成工商注册正式开业。广州电力交易中心按照多家单位参股的公司制模式组建,其中中国南方电网有限责任公司股比39%,广东省能源集团有限公司股比14%,云南省能源投资集团有限公司股比9%,贵州乌江能源投资有限公司股比9%等。
广州电力交易中心是区域电力交易市场平台,不以营利为目的,主要负责落实国家西电东送战略,落实国家指令性计划、地方政府间框架协议,开展跨区跨省市场化交易,促进省间余缺调剂和清洁能源消纳,逐步推进南方区域市场融合。
交易中心成立以来,积极推动西电东送年度计划的落地和跨区跨省电力交易的开展。2016年,组织完成西电东送电量1953亿千瓦时,同比增长3.3%,较年度计划增加154亿千瓦时。其中云南增送广东省间市场化交易电量134.5亿千瓦时。
南方电网数字传媒科技有限公司是中国南方电网有限责任公司的控股子公司,简称南网传媒公司,成立于2010年9月。公司注册地是广州,注册资本1亿元。
公司设有9个部门和两家全资子公司。包括办公室、组织人事部、监督部、财务部、融媒体中心(总编部)、品牌文化中心、数字科创中心、媒体发展委员会、客户服务评价委员会(合规运营管理委员会),《南方电网报》社有限公司、《南方能源观察杂志》社有限公司。旗下拥有《南方电网报》、《南方能源观察》杂志社、南方电网公司官方门户网站(含手机微网站)、官方新媒体@南网50Hz、网络电视台及南方电网办公楼宇及营业厅电视联播网。
南方电网是我国南方五省的电力输送单位,不仅涉及广东、广西、云南、贵州、海南,还涉及与港澳东南亚国家电网建设等,其公司主要分部位于广州,对于南方、广州、深圳毕业的同学,可重点关注。
专业国企职场咨询,央企国企应届就业、offer选择、职场方向、合同编制、离职跳槽、岗位对比,欢迎向我付费咨询。
南方电网业务的发展至关重要,它对南方地区的经济和社会发展起着至关重要的作用。南方电网以其稳定高效的电力供应服务,为南方地区的工业、商业和居民提供了源源不断的电力支持。
南方电网业务的重要性不言而喻。随着南方地区经济的快速崛起和城市化进程的加速,对电力供应的需求日益增长。南方电网通过不断改善电网建设、提高电力覆盖率和优化供电服务,为各行各业的发展提供了坚实的基础。
首先,南方电网业务为南方地区的工业发展提供了强大的能源支持。南方地区以其丰富的资源和优越的地理位置优势,成为了国内众多企业的投资热土。随着工业的快速发展,对电力的需求也在不断增长。南方电网通过扩大电网容量、提升配电设施和优化供电质量,为南方地区的工业发展提供了可靠的能源支持。
其次,南方电网业务对南方地区的商业发展也具有重要意义。商业是经济的重要组成部分,它的繁荣与否直接影响着整个地区的经济发展水平。南方电网通过提供稳定可靠的电力供应服务,保证了商业领域的正常运作。无论是大型商业中心、连锁店铺,还是小型零售商户,都依赖于稳定的电力供应来保障日常运营。南方电网通过持续优化供电系统,保障商业领域的用电需求,提升了南方地区的商业竞争力。
此外,南方电网业务对南方地区居民的生活也具有深远影响。现代社会离不开电力,电力是人们生活的基本需求。南方电网通过提供稳定可靠的电力供应,保障了南方地区居民的基本用电需求。无论是居住在城市还是农村地区,每个人都能够方便获得稳定供电,享受现代化生活带来的便利与舒适。
虽然南方电网业务在南方地区发挥着重要作用,但其也面临着一些挑战。
首先,南方电网业务需要应对日益增长的电力需求。随着南方地区人口的增加和经济的发展,对电力的需求呈现持续增长的趋势。南方电网需要通过提升电网容量、优化能源利用方式等手段,满足不断增长的电力需求,保障电力供应的稳定性。
其次,南方电网业务需要面对能源转型的挑战。随着全球能源形势的变化和环境保护意识的增强,南方电网需要逐步推进能源结构的转型和升级。发展清洁能源、提高能源利用效率,成为了南方电网业务发展的重要任务。
另外,南方电网业务还需要应对电力安全方面的挑战。电力是一项重要的基础设施,其安全性和稳定性关系到整个社会的运转。南方电网需要加强对电网设施的维护和管理,提升应对突发事件的能力,保障电力供应的安全和可靠。
南方电网业务发展的前景一片光明。作为南方地区电力供应的重要力量,南方电网将继续致力于提供更加稳定、高效的电力服务。
首先,随着南方地区经济的不断发展壮大,对电力供应的需求将持续增长。南方电网将以此为契机,加大对电网建设的投资力度,提升电力覆盖范围和供电能力,为南方地区的经济发展提供更加有力的支持。
其次,南方电网将积极推进能源转型。发展清洁能源、提高能源利用效率,成为南方电网业务发展的重要方向。南方电网将加大对清洁能源的开发和利用,通过技术创新提升能源利用效率,推动南方地区的能源结构转型和绿色发展。
最后,南方电网将加强电力安全保障。电力安全是电网业务发展的基石,南方电网将进一步完善电网设施,加强设备维护和管理,提升应对突发事件的能力,确保电力供应的安全和可靠。
总之,南方电网业务的发展对南方地区经济和社会发展至关重要。南方电网将继续秉承稳定、高效、可靠的原则,为南方地区的工业、商业和居民提供持续稳定的电力支持。
国家电网和南方电网都是(是中华人民共和国原国家电力公司经过电力体制改革后分离出的两家电网企业)供电企业;区别是:南方电网管辖范围是广东省、广西省、云南省、贵州省,海南省,除此外,国家电网覆盖26个省(自治区、直辖市)
之前看了Mahout官方示例 20news 的调用实现;于是想根据示例的流程实现其他例子。网上看到了一个关于天气适不适合打羽毛球的例子。
训练数据:
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Overcast Mild High Strong Yes
D13 Overcast Hot Normal Weak Yes
D14 Rain Mild High Strong No
检测数据:
sunny,hot,high,weak
结果:
Yes=》 0.007039
No=》 0.027418
于是使用Java代码调用Mahout的工具类实现分类。
基本思想:
1. 构造分类数据。
2. 使用Mahout工具类进行训练,得到训练模型。
3。将要检测数据转换成vector数据。
4. 分类器对vector数据进行分类。
接下来贴下我的代码实现=》
1. 构造分类数据:
在hdfs主要创建一个文件夹路径 /zhoujainfeng/playtennis/input 并将分类文件夹 no 和 yes 的数据传到hdfs上面。
数据文件格式,如D1文件内容: Sunny Hot High Weak
2. 使用Mahout工具类进行训练,得到训练模型。
3。将要检测数据转换成vector数据。
4. 分类器对vector数据进行分类。
这三步,代码我就一次全贴出来;主要是两个类 PlayTennis1 和 BayesCheckData = =》
package myTesting.bayes;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.util.ToolRunner;
import org.apache.mahout.classifier.naivebayes.training.TrainNaiveBayesJob;
import org.apache.mahout.text.SequenceFilesFromDirectory;
import org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles;
public class PlayTennis1 {
private static final String WORK_DIR = "hdfs://192.168.9.72:9000/zhoujianfeng/playtennis";
/*
* 测试代码
*/
public static void main(String[] args) {
//将训练数据转换成 vector数据
makeTrainVector();
//产生训练模型
makeModel(false);
//测试检测数据
BayesCheckData.printResult();
}
public static void makeCheckVector(){
//将测试数据转换成序列化文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"testinput";
String output = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();
String[] params = new String[]{"-i",input,"-o",output,"-ow"};
ToolRunner.run(sffd, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("文件序列化失败!");
System.exit(1);
}
//将序列化文件转换成向量文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";
String output = WORK_DIR+Path.SEPARATOR+"tennis-test-vectors";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();
String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};
ToolRunner.run(svfsf, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("序列化文件转换成向量失败!");
System.out.println(2);
}
}
public static void makeTrainVector(){
//将测试数据转换成序列化文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"input";
String output = WORK_DIR+Path.SEPARATOR+"tennis-seq";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();
String[] params = new String[]{"-i",input,"-o",output,"-ow"};
ToolRunner.run(sffd, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("文件序列化失败!");
System.exit(1);
}
//将序列化文件转换成向量文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"tennis-seq";
String output = WORK_DIR+Path.SEPARATOR+"tennis-vectors";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();
String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};
ToolRunner.run(svfsf, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("序列化文件转换成向量失败!");
System.out.println(2);
}
}
public static void makeModel(boolean completelyNB){
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"tennis-vectors"+Path.SEPARATOR+"tfidf-vectors";
String model = WORK_DIR+Path.SEPARATOR+"model";
String labelindex = WORK_DIR+Path.SEPARATOR+"labelindex";
Path in = new Path(input);
Path out = new Path(model);
Path label = new Path(labelindex);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
if(fs.exists(label)){
//boolean参数是,是否递归删除的意思
fs.delete(label, true);
}
TrainNaiveBayesJob tnbj = new TrainNaiveBayesJob();
String[] params =null;
if(completelyNB){
params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow","-c"};
}else{
params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow"};
}
ToolRunner.run(tnbj, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("生成训练模型失败!");
System.exit(3);
}
}
}
package myTesting.bayes;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathFilter;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.mahout.classifier.naivebayes.BayesUtils;
import org.apache.mahout.classifier.naivebayes.NaiveBayesModel;
import org.apache.mahout.classifier.naivebayes.StandardNaiveBayesClassifier;
import org.apache.mahout.common.Pair;
import org.apache.mahout.common.iterator.sequencefile.PathType;
import org.apache.mahout.common.iterator.sequencefile.SequenceFileDirIterable;
import org.apache.mahout.math.RandomAccessSparseVector;
import org.apache.mahout.math.Vector;
import org.apache.mahout.math.Vector.Element;
import org.apache.mahout.vectorizer.TFIDF;
import com.google.common.collect.ConcurrentHashMultiset;
import com.google.common.collect.Multiset;
public class BayesCheckData {
private static StandardNaiveBayesClassifier classifier;
private static Map<String, Integer> dictionary;
private static Map<Integer, Long> documentFrequency;
private static Map<Integer, String> labelIndex;
public void init(Configuration conf){
try {
String modelPath = "/zhoujianfeng/playtennis/model";
String dictionaryPath = "/zhoujianfeng/playtennis/tennis-vectors/dictionary.file-0";
String documentFrequencyPath = "/zhoujianfeng/playtennis/tennis-vectors/df-count";
String labelIndexPath = "/zhoujianfeng/playtennis/labelindex";
dictionary = readDictionnary(conf, new Path(dictionaryPath));
documentFrequency = readDocumentFrequency(conf, new Path(documentFrequencyPath));
labelIndex = BayesUtils.readLabelIndex(conf, new Path(labelIndexPath));
NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), conf);
classifier = new StandardNaiveBayesClassifier(model);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("检测数据构造成vectors初始化时报错。。。。");
System.exit(4);
}
}
/**
* 加载字典文件,Key: TermValue; Value:TermID
* @param conf
* @param dictionnaryDir
* @return
*/
private static Map<String, Integer> readDictionnary(Configuration conf, Path dictionnaryDir) {
Map<String, Integer> dictionnary = new HashMap<String, Integer>();
PathFilter filter = new PathFilter() {
@Override
public boolean accept(Path path) {
String name = path.getName();
return name.startsWith("dictionary.file");
}
};
for (Pair<Text, IntWritable> pair : new SequenceFileDirIterable<Text, IntWritable>(dictionnaryDir, PathType.LIST, filter, conf)) {
dictionnary.put(pair.getFirst().toString(), pair.getSecond().get());
}
return dictionnary;
}
/**
* 加载df-count目录下TermDoc频率文件,Key: TermID; Value:DocFreq
* @param conf
* @param dictionnaryDir
* @return
*/
private static Map<Integer, Long> readDocumentFrequency(Configuration conf, Path documentFrequencyDir) {
Map<Integer, Long> documentFrequency = new HashMap<Integer, Long>();
PathFilter filter = new PathFilter() {
@Override
public boolean accept(Path path) {
return path.getName().startsWith("part-r");
}
};
for (Pair<IntWritable, LongWritable> pair : new SequenceFileDirIterable<IntWritable, LongWritable>(documentFrequencyDir, PathType.LIST, filter, conf)) {
documentFrequency.put(pair.getFirst().get(), pair.getSecond().get());
}
return documentFrequency;
}
public static String getCheckResult(){
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String classify = "NaN";
BayesCheckData cdv = new BayesCheckData();
cdv.init(conf);
System.out.println("init done...............");
Vector vector = new RandomAccessSparseVector(10000);
TFIDF tfidf = new TFIDF();
//sunny,hot,high,weak
Multiset<String> words = ConcurrentHashMultiset.create();
words.add("sunny",1);
words.add("hot",1);
words.add("high",1);
words.add("weak",1);
int documentCount = documentFrequency.get(-1).intValue(); // key=-1时表示总文档数
for (Multiset.Entry<String> entry : words.entrySet()) {
String word = entry.getElement();
int count = entry.getCount();
Integer wordId = dictionary.get(word); // 需要从dictionary.file-0文件(tf-vector)下得到wordID,
if (StringUtils.isEmpty(wordId.toString())){
continue;
}
if (documentFrequency.get(wordId) == null){
continue;
}
Long freq = documentFrequency.get(wordId);
double tfIdfValue = tfidf.calculate(count, freq.intValue(), 1, documentCount);
vector.setQuick(wordId, tfIdfValue);
}
// 利用贝叶斯算法开始分类,并提取得分最好的分类label
Vector resultVector = classifier.classifyFull(vector);
double bestScore = -Double.MAX_VALUE;
int bestCategoryId = -1;
for(Element element: resultVector.all()) {
int categoryId = element.index();
double score = element.get();
System.out.println("categoryId:"+categoryId+" score:"+score);
if (score > bestScore) {
bestScore = score;
bestCategoryId = categoryId;
}
}
classify = labelIndex.get(bestCategoryId)+"(categoryId="+bestCategoryId+")";
return classify;
}
public static void printResult(){
System.out.println("检测所属类别是:"+getCheckResult());
}
}
1. 请介绍一下WebGIS的概念和作用,以及在实际应用中的优势和挑战。
WebGIS是一种基于Web技术的地理信息系统,通过将地理数据和功能以可视化的方式呈现在Web浏览器中,实现地理空间数据的共享和分析。它可以用于地图浏览、空间查询、地理分析等多种应用场景。WebGIS的优势包括易于访问、跨平台、实时更新、可定制性强等,但也面临着数据安全性、性能优化、用户体验等挑战。
2. 请谈谈您在WebGIS开发方面的经验和技能。
我在WebGIS开发方面有丰富的经验和技能。我熟悉常用的WebGIS开发框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能够使用HTML、CSS和JavaScript等前端技术进行地图展示和交互设计,并能够使用后端技术如Python、Java等进行地理数据处理和分析。我还具备数据库管理和地理空间数据建模的能力,能够设计和优化WebGIS系统的架构。
3. 请描述一下您在以往项目中使用WebGIS解决的具体问题和取得的成果。
在以往的项目中,我使用WebGIS解决了许多具体问题并取得了显著的成果。例如,在一次城市规划项目中,我开发了一个基于WebGIS的交通流量分析系统,帮助规划师们评估不同交通方案的效果。另外,在一次环境监测项目中,我使用WebGIS技术实现了实时的空气质量监测和预警系统,提供了准确的空气质量数据和可视化的分析结果,帮助政府和公众做出相应的决策。
4. 请谈谈您对WebGIS未来发展的看法和期望。
我认为WebGIS在未来会继续发展壮大。随着云计算、大数据和人工智能等技术的不断进步,WebGIS将能够处理更大规模的地理数据、提供更丰富的地理分析功能,并与其他领域的技术进行深度融合。我期望未来的WebGIS能够更加智能化、个性化,为用户提供更好的地理信息服务,助力各行各业的决策和发展。
这块您需要了解下stm32等单片机的基本编程和简单的硬件设计,最好能够了解模电和数电相关的知识更好,还有能够会做操作系统,简单的有ucos,freeRTOS等等。最好能够使用PCB画图软件以及keil4等软件。希望对您能够有用。
1.负责区域大客户/行业客户管理系统销售拓展工作,并完成销售流程;
2.维护关键客户关系,与客户决策者保持良好的沟通;
3.管理并带领团队完成完成年度销售任务。
你好,面试题类型有很多,以下是一些常见的类型:
1. 技术面试题:考察候选人技术能力和经验。
2. 行为面试题:考察候选人在过去的工作或生活中的行为表现,以预测其未来的表现。
3. 情境面试题:考察候选人在未知情境下的决策能力和解决问题的能力。
4. 案例面试题:考察候选人解决实际问题的能力,模拟真实工作场景。
5. 逻辑推理题:考察候选人的逻辑思维能力和分析能力。
6. 开放性面试题:考察候选人的个性、价值观以及沟通能力。
7. 挑战性面试题:考察候选人的应变能力和创造力,通常是一些非常具有挑战性的问题。
需要具体分析 因为cocoscreator是一款游戏引擎,面试时的问题会涉及到不同的方面,如开发经验、游戏设计、图形学等等,具体要求也会因公司或岗位而异,所以需要根据实际情况进行具体分析。 如果是针对开发经验的问题,可能会考察候选人是否熟悉cocoscreator常用API,是否能够独立开发小型游戏等等;如果是针对游戏设计的问题,则需要考察候选人对游戏玩法、关卡设计等等方面的理解和能力。因此,需要具体分析才能得出准确的回答。
以下是一些可能出现在MyCat面试中的问题:
1. 什么是MyCat?MyCat是一个开源的分布式数据库中间件,它可以将多个MySQL数据库组合成一个逻辑上的数据库集群,提供高可用性、高性能、易扩展等特性。
2. MyCat的优势是什么?MyCat具有以下优势:支持读写分离、支持分库分表、支持自动切换故障节点、支持SQL解析和路由、支持数据分片等。
3. MyCat的架构是怎样的?MyCat的架构包括三个层次:客户端层、中间件层和数据存储层。客户端层负责接收和处理客户端请求,中间件层负责SQL解析和路由,数据存储层负责实际的数据存储和查询。
4. MyCat支持哪些数据库?MyCat目前支持MySQL和MariaDB数据库。
5. MyCat如何实现读写分离?MyCat通过将读请求和写请求分别路由到不同的MySQL节点上实现读写分离。读请求可以路由到多个只读节点上,从而提高查询性能。
6. MyCat如何实现分库分表?MyCat通过对SQL进行解析和路由,将数据按照一定规则划分到不同的数据库或表中,从而实现分库分表。
7. MyCat如何保证数据一致性?MyCat通过在多个MySQL节点之间同步数据,保证数据的一致性。同时,MyCat还支持自动切换故障节点,从而保证系统的高可用性。
8. MyCat的部署方式有哪些?MyCat可以部署在单机上,也可以部署在多台服务器上实现分布式部署。