华为云用户手册

  • 操作流程 表1 操作流程 操作步骤 说明 准备工作 注册华为账号 并开通华为云,实名认证,为账户充值以及规划和创建VPC、子网资源。 步骤一:创建 GaussDB (DWS)集群 创建3节点的GaussDB(DWS)集群,配置集群节点、存储容量、集群版本号等信息。 步骤二:上传数据到OBS桶 创建OBS桶,并将本地的csv格式数据上传到OBS桶。 步骤三:连接GaussDB(DWS)集群并导入数据进行分析 使用SQL编辑器连接GaussDB(DWS)数据库,并创建OBS外表,通过OBS外表将OBS桶数据导入GaussDB(DWS)集群,并进行简单SQL查询。
  • 功能列表 智能DBA支持以下功能,详情请参见表1。 表1 功能说明 功能 描述 相关文档 实例概览 提供数据库整体运行情况,包括告警统计、资源使用情况和重点性能指标,多方面实时展示实例的运行状态。基于运行数据结合智能算法对实例进行健康智能诊断,并对异常项提供解决方法与使用建议。 查看实例运行情况 实时会话 提供当前数据库会话快照查询,并支持排序过滤展示。可基于用户、访问主机、库等多维度快速过滤识别到自定义慢SQL会话、活跃会话等。KILL会话与SQL限流功能应对紧急实例恢复,保障数据库的可用性。 管理实时会话 实时性能 展示数据库实例各项关键指标,并提供日期对比功能,方便查看周期业务以及指标变化情况,及时发现异常。秒级监控有助于精准定位问题。 查看实例性能指标 容量预估 数据库实例在使用过程中,当前磁盘空间数据与日志的占比以及历史上涨情况往往是用户关心的重点。智能DBA助手提供了容量预估功能,可以方便地查看磁盘空间概况与分布,并通过历史数据结合智能算法提供了空间预估等功能,尽早发现空间不足的情况并及时避免。此外还提供了智能扩容、表智能诊断、TOP50库表协助运维功能。 管理磁盘容量 锁&事务 该模块从元数据锁以及InnoDB锁两个维度分析当前业务锁状态。通过元数据锁视图与InnoDB锁拓扑图管理阻塞事务,协助用户优化自身业务,减少锁冲突。 管理锁&事务 历史事务 该模块用来分析和发现数据库的大事务、长时间未提交的事务等历史信息。 管理历史事务 慢SQL 提供指定时间段内的慢SQL分析功能。从用户、IP、SQL模板等进行多维统计,展示统计结果并支持指定排序,识别慢SQL的精准来源,方便用户快速优化业务。 查看实例慢SQL 全量SQL 在实例开启全量SQL的前提下,该模块基于全量SQL数据进行分析,并提供多维度的分析、搜索、过滤的能力,帮助用户全面洞察SQL,TOP SQL快速定位异常原因,保障数据库稳定运行。 查看实例TOP SQL 新增SQL洞察任务 SQL限流 针对新上业务不能及时发包优化的SQL和突发流量导致CPU等资源100%瓶颈的场景,SQL限流功能通过控制既定SQL规则的并发度协助业务侧及时流控,保证核心业务的稳定运行。 新建SQL限流规则 自治限流 该功能自动检测数据库的CPU利用率、活跃会话数等异常,根据业务优先级进行限流处理,保证核心业务的稳定运行。 用户可以根据业务情况,按照数据库或者用户进行限流。将非核心数据库或非核心用户业务配置为限流对象,可以保障核心业务不受影响。 配置自治限流 诊断日报 对前一日实例状态的汇总展示,包括以上部分模块的重点指标:慢SQL分析、全量SQL分析、性能与磁盘分析。支持用户下载和订阅分析报告。建议每天定时对实例进行诊断,以保证实例上业务的正常运转。 管理诊断日报 异常快照 智能判断实例异常,记录会话快照、锁/事务等快照信息,方便后续问题定位。 管理异常快照
  • 配置步骤 在CCE中添加日志策略 在CCE中创建工作负载时,添加容器后,展开“容器日志”页签。 单击“添加日志策略”,设置自定义日志参数,配置日志策略,以nginx为例,不同工作负载根据实际情况配置。 图1 添加日志策略 存储类型有“主机路径”和“容器路径”两种类型可供选择: 主机路径:可将主机上的路径挂载到指定的容器路径。日志策略配置参数如下: 表1 添加日志策略-主机路径 参数 参数说明 存储类型 设置为“主机路径”。将主机上的路径挂载到指定的容器路径。 添加容器挂载 *主机路径 容器内日志文件所在路径挂载到主机上的位置,如:/var/paas/sys/log/nginx 挂载路径 输入数据逻辑卷挂载到容器上的路径,如:/tmp 须知: 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。 AOM 只采集最近修改过的前20个日志文件,且默认采集两级子目录。 AOM只采集挂载路径下的“.log”、“.trace”、“.out”文本日志文件。 主机扩展路径 会在原先的“卷目录/子目录”中增加一个三级目录。使用户更方便获取单个Pod输出的文件。 None:不配置拓展路径。 PodUID:Pod的ID。 PodName:Pod的名称。 PodUID/ContainerName:Pod的ID/容器名称。 PodName/ContainerName:Pod名称/容器名称。 采集路径 设置采集路径可以更精确的指定采集内容,当前支持以下设置方式: 不设置则默认采集当前路径下.log .trace .out文件。 设置**表示递归采集5层目录下的.log .trace .out文件。 设置*表示模糊匹配。 例子: 采集路径为/tmp/**/test*.log 表示采集/tmp目录及其1-5层子目录下的全部以test开头的.log文件。 注意: 使用采集路径功能请确认您的采集器ICAgent版本为5.12.22或以上版本。 日志转储 此处日志转储是指日志的本地绕接。 设置:AOM每分钟扫描一次日志文件,当某个日志文件超过50MB时,会立即对其转储(转储时会在该日志文件所在的目录下生成一个新的zip文件。对于一个日志文件,AOM只保留最近生成的20个zip文件,当zip文件超过20个时,时间较早的zip文件会被删除),转储完成后AOM会将该日志文件清空。 不设置:若您在下拉列表框中选择“不设置”,则AOM不会对日志文件进行转储。 说明: AOM的日志绕接能力是使用copytruncate方式实现的,如果选择了设置,请务必保证您写日志文件的方式是append(追加模式),否则可能出现文件空洞问题。 当前主流的日志组件例如Log4j、Logback等均已经具备日志文件的绕接能力,如果您的日志文件已经实现了绕接能力,则无需设置。否则可能出现冲突。 建议您的业务自己实现绕接,可以更灵活的控制绕接文件的大小和个数。 容器路径:日志仅输出到容器路径,无需挂载主机路径。日志策略配置参数如下: 此功能需要采集器ICAgent版本升级到5.10.79或以上版本。 表2 添加日志策略-容器路径 参数 参数说明 存储类型 设置为“容器路径”。 日志仅输出到容器路径,无需挂载主机路径。此功能需要采集器ICAgent版本升级到5.10.79或以上版本。 添加容器挂载 挂载路径 输入数据逻辑卷挂载到容器上的路径,如:/tmp 须知: 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。 AOM只采集最近修改过的前20个日志文件,且默认采集两级子目录。 AOM只采集挂载路径下的“.log”、“.trace”、“.out”文本日志文件。 采集路径 设置采集路径可以更精确的指定采集内容,当前支持以下设置方式: 不设置则默认采集当前路径下.log .trace .out文件。 设置**表示递归采集5层目录下的.log .trace .out文件。 设置*表示模糊匹配。 例子: 采集路径为/tmp/**/test*.log 表示采集/tmp目录及其1-5层子目录下的全部以test开头的.log文件。 注意: 使用采集路径功能请确认您的采集器ICAgent版本为5.12.22或以上版本。 日志转储 此处日志转储是指日志的本地绕接。 设置:AOM每分钟扫描一次日志文件,当某个日志文件超过50MB时,会立即对其转储(转储时会在该日志文件所在的目录下生成一个新的zip文件。对于一个日志文件,AOM只保留最近生成的20个zip文件,当zip文件超过20个时,时间较早的zip文件会被删除),转储完成后AOM会将该日志文件清空。 不设置:若您在下拉列表框中选择“不设置”,则AOM不会对日志文件进行转储。 说明: AOM的日志绕接能力是使用copytruncate方式实现的,如果选择了设置,请务必保证您写日志文件的方式是append(追加模式),否则可能出现文件空洞问题。 当前主流的日志组件例如Log4j、Logback等均已经具备日志文件的绕接能力,如果您的日志文件已经实现了绕接能力,则无需设置。否则可能出现冲突。 建议您的业务自己实现绕接,可以更灵活的控制绕接文件的大小和个数。 在ServiceStage中添加日志策略 在CCI中添加日志策略 在创建负载时,选择镜像后,单击“高级设置”,展开“日志采集”页签。 添加日志策略。 单击“添加日志存储”,参考表3进行配置。 图2 在CCI中添加日志策略 表3 参数说明 参数 参数说明 容器内日志路径 日志存储挂载到容器内的挂载路径,需要保证服务的日志输出路径与该路径一致,这样日志才能写入到日志存储卷中。 须知: 日志存储卷挂载后,会覆盖掉日志路径下已有的内容。请保证日志路径为一个独立的路径,否则原来的内容不可见。 AOM只采集最近修改过的前20个日志文件,且不采集子目录。 AOM只采集日志路径下的“.log”、“.trace”、“.out”文本日志文件。 日志存储空间 日志的存储空间大小。 AOM对日志卷中的日志按50MB进行防爆处理,AOM只保留最近生成的20个zip文件,当zip文件超过20个时,时间较早的zip文件会被删除。
  • 参数说明 表1 参数说明 参数 含义 值 Version 角色的版本 1.0:代表基于角色的访问控制。 Statement: 角色的授权语句 Action:授权项 操作权限 格式为:服务名:资源类型:操作 "DNS:Zone:*":表示对DNS的Zone所有操作。其中“DNS”为服务名;“Zone”为资源类型;“*”为通配符,表示对Zone资源类型可以执行所有操作。 Effect:作用 定义Action中的操作权限是否允许执行 Allow:允许执行。 Deny:不允许执行。 说明: 当同一个Action的Effect既有Allow又有Deny时,遵循Deny优先的原则。 Depends: 角色的依赖关系 catalog 依赖的角色所属服务 服务名称。例如:BASE、VPC。 display_name 依赖的角色名称 角色名称。 说明: 给用户组授予示例的“DNS Administraor”角色时,必须同时勾选该角色依赖的角色“Tenant Guest”和“VPC Administrator”,“DNS Administraor”才会生效。 了解更多角色依赖关系,请参考:系统权限。
  • 角色内容 给用户组选择角色时,单击角色前面的,可以查看角色的详细内容,以“DNS Administrator”为例,说明角色的内容。 图1 DNS Administrator角色内容 { "Version": "1.0", "Statement": [ { "Action": [ "DNS:Zone:*", "DNS:RecordSet:*", "DNS:PTRRecord:*" ], "Effect": "Allow" } ], "Depends": [ { "catalog": "BASE", "display_name": "Tenant Guest" }, { "catalog": "VPC", "display_name": "VPC Administrator" } ] }
  • 操作步骤 管理员登录 IAM 控制台。 在用户组列表中,单击新建用户组右侧的“授权”。 在授权页面进行授权时,管理员在权限列表的搜索框中搜索需要的角色。 选择角色,系统将自动勾选依赖角色。 图1 选择角色 单击勾选权限下方的,查看角色的依赖关系。 图2 查看角色的依赖关系 例如“DNS Administrator”,角色内容中存在“Depends”字段,表示存在依赖关系。给用户组授予“DNS Administrator”角色时,还需要在同项目同时授予“Tenant Guest”和“VPC Administrator”角色,“DNS Administrator”才能生效。 单击“确定”,完成依赖角色的授权。
  • CodeArts Check IDE插件介绍 CodeArts Check IDE插件致力于守护开发人员代码质量,成为开发人员的助手和利器。 本IDE插件秉承极简、极速、即时看护的理念,提供业界规范(含华为云)检查、代码风格一键格式化及代码自动修复功能。 打造了代码检查“快车道”,实现精准、快速检查前移,与Check云端服务共同构筑了三层代码防护体系。 内置的轻量级扫描规则作为云端规则的子集,可以在云端查看到所有IDE端规则,实现安全扫描左移,并且覆盖了30多种缺陷分类。 当前CodeArts Check IDE插件支持Java、C、C++、Python,并已上线4个主流IDE平台:VSCode IDE、Intellij IDEA、CodeArts IDE、Cloud IDE。
  • 代码安全检查增强包介绍 华为代码安全检查增强包里安全检查能力作为深度价值特性,能深度识别代码中安全风险和漏洞,提供了套餐包内规则不覆盖的安全类场景,比如数值错误、加密问题、数据验证问题等。针对业界的安全漏洞检测项提供了更深入的分析能力,比如,跨函数、跨文件、污点分析、语义分析等 。 当前代码安全检查增强包一共有284条规则,涵盖Java语言61个, C++ 语言199个, Go语言8个, Python语言16个。 代码安全检查增强包里安全检查能力支持的检查项如下: 覆盖符合污点分析传播模型的漏洞检查,如命令注入、SQL注入、路径遍历、信息泄露等。 覆盖业界常见的安全漏洞检测项,如命令注入、LDAP注入、SQL注入、开放重定向漏洞、数值处理、信息泄露等。 支持密码、API秘钥和访问令牌硬编码检查能力。 支持AcessKey泄露检查。 如果某租户购买了1个增强包,该租户账号及其所有IAM账号均可使用所有增强包相关的规则。 代码安全检查增强包对于扫描次数和扫描的代码行数没有任何限制,仅对代码检查任务并发数有限制,即,买1个增强包代表该租户账号可以扫描1个安全增强特性包规则的代码检查任务,其余任务需要排队等待;买2个增强包表示可同时扫描2个代码检查任务 ……买n个增强包表示可同时扫描n个代码检查任务。当前最多可以买100个。购买方法可参考购买增值特性。 增强包不可单独购买,需要在购买了专业版或企业版CodeArts之后才会生效,如果购买的CodeArts套餐过期,代码检查特性增强包会失效。
  • 云服务代码检查功能列表 表1 云服务代码检查功能列表 功能 描述 编码问题检查 用编码问题检查规则集,对自己的代码进行编码问题缺陷检查。 代码安全检查 用代码安全检查规则集,对自己的代码进行代码安全风险和缺陷检查。 代码风格检查 用代码风格检查规则集,检查自己的代码是否匹配选定风格。 代码健康度评分 一个综合性统一指标,与告警影响度、告警数量、代码量都有关系。自动计算代码健康度分数。 问题管理 通过问题管理中的问题描述、问题状态、检查规则、文件路径、源码以及修改建议等,对检查出来的问题进行处理。 代码圈复杂度 通过代码圈复杂度报表评估代码质量风险。 NBNC代码行 代码检查支持扫描的文件代码行,不包括空行和注释行。 代码重复率 通过代码重复率报表评估代码质量风险。 定时执行检查 提供每周、每日定时检查代码功能,让用户休息编译两不误。 检查结果通知 检查完成后,通过邮件通知和 消息通知 相关人员检查结果,便于进行及时处理。 多种语言的代码检查 包括Java/C++/JavaScript/Go/Python/C#/TypeScript/ CSS /HTML/PHP/LUA/RUST/Shell/KOTLIN/SCALA/ArkTS。
  • 营销宣传风格文案 1. 掌握未来,尽在眼前——揭开全新智能科技产品的神秘面纱 2. 在这个快速变化的世界里,技术已经成为我们生活中不可或缺的重要元素。 3. 它不断推动着我们的社会进步,改变着我们的生活方式。 4. 而现在,一个引领科技浪潮,凝聚了众多顶尖科技的全新智能产品即将横空出世! 5. 家用机器人,由全球知名的A公司精心研发,是一款集合了众多顶尖科技的全新智能设备。 6. 它凝聚了我们对科技的热爱和对未来的追求,以人性化的设计、出色的性能和前所未有的创新,为您带来前所未有的使用体验。 7. 无论您是面对繁忙的工作,还是处理繁琐的家务,亦或是希望能有更多时间陪伴亲人,家用机器人都可以成为您的得力助手。 8. 它可以帮助您更轻松地完成各种任务,为您带来更便捷、舒适和智能的生活体验。 9. 家用机器人内置了丰富的功能和应用,能够满足您多样化的需求。 10. 它可以与您的家居设备无缝对接,让您通过语音控制,轻松完成各种家务活动。 11. 同时,它还拥有丰富的娱乐功能,为您的生活增添更多色彩。 12. 此外,家用机器人还具备强大的学习和适应能力。 13. 它可以通过不断地学习和训练,更好地理解和适应您的需求,为您提供更为个性化的服务。 14. 这不仅使您享受到了科技的便利,也让家用机器人的使用变得更加人性化。 15. 家用机器人是您生活中的最佳助手,它为您带来了更为智能、便捷和舒适的生活体验。 16. 无论您是在家中的哪个角落,只需简单地说一声:“小智,请帮我拿遥控器。”就可以轻松地控制您的家居设备。 17. 这样的智能生活体验,不仅让您的生活变得更加便利,也让您的家庭更加温馨和谐。 18. 从科技创新的角度来看,家用机器人在许多方面都具有创新性。 19. 它采用了人工智能、机器学习、深度学习和计算机视觉等一些最新的科技成果,并将这些技术应用于解决日常生活中的问题。 20. 除此之外,家用机器人还注重在设计和功能方面进行创新。它秉持“以人为本”的设计理念,注重用户体验的每一个细节。 21. 它采用了简洁、时尚的外观设计,不仅美观大方,而且易于使用和操作。 22. 同时,它还拥有一些独特的功能,如 语音识别 和手势控制等,使您可以更加方便地与它进行交互。 23. 此外,家用机器人还注重打造一个完整的生态系统,与其他智能设备进行无缝连接和协同工作。 24. 例如,它可以与智能家居设备进行连接,实现智能家居控制; 25. 可以与智能音箱进行连接,实现 语音助手 功能; 26. 可以与智能出行设备进行连接,实现智能出行等等。 27. 这些功能使得家用机器人成为了一个不可或缺的智能家居产品,能够为大家带来更加便捷、舒适的生活体验。 28. 在引领科技潮流方面,家用机器人注重持续的技术更新和升级。 29. 这意味着它将不断地推出新功能、新技术和新服务,以满足大家不断变化的需求。 30. 同时,家用机器人还注重与开发者合作,开放API接口,让他们可以开发更多有趣的应用程序和插件,丰富大家的使用体验。 31. 通过前面的介绍,我们对家用机器人有了一个基本的了解。 32. 接下来,我们将从功能和性能方面为您详细介绍这款家用机器人。 33. 功能方面,家用机器人具备智能保洁、智慧厨房、智慧管家、安全卫士、生活伴侣等多维智能生活服务功能。 34. 这些功能使得家用机器人成为了一款极具实用性和便利性的智能家居产品。 35. 亮点1:智能保洁,恩泽家庭 36. 我们的家用机器人拥有卓越的清洁效率, 37. 无论是地板的清扫、地毯的吸尘还是湿拖地,它都能以惊人的速度和效果出色的完成任务。 38. 通过多重传感器和智能导航系统,它能够避开障碍物并高效清扫您的家中的每一个角落, 39. 并且,它能够轻松爬上地毯、进入家具底部等难以到达的地方,将清洁工作进行到底。 40. 同时,智能机器人还支持多种清洁模式, 41. 可以根据您的需求进行定制化操作,使您可以根据自己的喜好和家庭环境来选择最合适的清洁模式。 42. 当涉及到家庭保洁时,智能机器人可以提供多种功能和性能来帮助您完成各种区域的清洁工作。 43. 下面是一些智能机器人在保洁方面所具备的特点: 44. 首先,智能机器人拥有高效的清洁能力。 45. 与传统的清扫方式相比,智能机器人使用先进的吸尘技术和高效旋转刷子,能够在更短的时间内完成清扫任务。 46. 此外,它还能够清除地板和地毯上的各种污垢、灰尘和宠物毛发等杂质,让您的家变得更加干净整洁。 47. 其次,智能机器人采用先进的传感器和导航技术进行智能导航。 48. 这使得机器人在家庭环境中自主导航并避开障碍物成为可能。 49. 通过这种方式,机器人不会碰到家具或其他障碍物,也不会误入不该进入的区域,从而避免了可能的损坏。 50. 此外,智能机器人还具有自动充电功能。 51. 当电量低时,它可以自动返回到充电站并自动启动充电。 52. 这使得您可以轻松地使用机器人进行长时间的家庭保洁工作,而无需担心电量问题。 53. 同时,智能机器人还支持声控和远程控制。 54. 您可以通过语音指令来控制机器人的运行,也可以通过手机应用程序来进行远程控制。 55. 这意味着您可以随时随地调整或控制机器人的运行,以满足您的需求。 56. 最后,智能机器人有多种清洁模式可供选择。 57. 例如,它可以执行扫地、吸尘、湿拖地等不同的清洁任务,或者针对特定区域进行深层清洁。 58. 这些不同的清洁模式可以满足您不同的需求,使您可以根据自己的喜好和家庭环境来选择最合适的清洁模式。 59. 总之,智能机器人为您提供了快速、高效和方便的家庭保洁服务。 60. 通过这种方式,您可以省下宝贵的时间和精力来享受您的家庭生活。 61. 亮点2:智慧厨房,美食尽享 62. 拥有一款家用机器人,您的厨房将焕然一新! 63. 不论是制作美味佳肴,还是清洁厨房,家用机器人都能轻松胜任。 64. 它们可以根据您的口味和需求调节火候、时间和烹饪方式,帮助您烹饪出各种美食。 65. 无论是大餐、快餐还是特殊口味,您只需轻松下达指令,机器人就能为您完成。 66. 尽享美食的同时,您还可以更多地与家人朋友互动,创造宝贵的家庭时光。 67. 智慧厨房是一种将智能科技与厨房设备结合的创新方式。 68. 在家庭中使用智慧厨房,可以改变传统的烹饪方式,使其更为方便、快捷和健康。 69. 智慧厨房中的智能机器人是厨房设备的升级版,它可以帮助您完成各种烹饪任务。 70. 这些智能机器人内置了多种传感器和人工智能算法,可以精准地控制火候、时间和烹饪方式等参数。 71. 它们还可以通过 自然语言处理 技术理解您的需求,根据您的口味偏好自动调整烹饪参数。 72. 此外,智能机器人还可以与其他智能厨房设备连接, 73. 例如智能烤箱、智能冰箱等,实现更加智能化的烹饪模式。 74. 下面为您介绍智慧厨房中智能机器人的一些常见功能: 75. 自动烹饪:智能机器人可以根据您的口味和需求,自动烹饪美食。 76. 只需要简单地下达指令,它们就可以为您烹制出您喜欢的菜肴,无需频繁操作或担心烹饪不当。 77. 材料识别和配料:智能机器人可以通过识别您所使用的食材,提供有关这些食材的营养信息和食谱建议。 78. 此外,它们还能根据您想要的口味和菜谱,自动添加所需的配料和调味品。 79. 烹饪记录和推荐:智能机器人可以帮助您记录烹饪过程和食谱,从而使您能够更好地了解健康饮食的要素,获取更多的烹饪技巧和建议。 80. 此外,他们还可以根据您的个人偏好和历史记录,推荐适合您的菜肴和食谱。 81. 连接其他智能设备:智能机器人可以连接其他智能厨房设备, 82. 例如智能灶台、智能烤箱和智能冰箱等设备。 83. 通过连接这些设备,智能机器人可以与它们进行信息交互和协同工作,以实现更强大而智能的烹饪模式。 84. 例如,如果智能灶台识别到您正在烹饪汤类菜肴,智能机器人会自动将正常的烹饪程序转换为煮沸程序,从而获得更好的效果。 85. 智慧厨房的出现不仅提高了烹饪的效率和质量,还提供了一个新的健康饮食的理念。 86. 借助智能厨房设备和技术,我们可以更好地了解和控制自己的饮食健康状况,从而改善生活质量并享受更多美食带来的愉悦。 87. 智能厨房让我们的生活更方便、更高效、更加健康和美味。 88. 通过使用智慧厨房中的智能机器人,您可以轻松完成各种厨房工作,并享受更多的休闲时间与家人和朋友共度美好时光。 89. 亮点3:智慧管家,贴心服务 90. 家用机器人不仅是您的得力助手,更是贴心的家庭管家。 91. 它们可以帮助您记住重要事项、日程安排,并提醒您及时处理。 92. 通过 语音交互 和人工智能技术,它们能够回答您的问题、提供天气预报、播放音乐等各种娱乐功能。 93. 无论您身处何地,只需一声令下,机器人将立即响应,提供真正个性化的服务。 94. 接下来为您详细介绍家用机器人在智慧管家方面的一些功能: 95. 语音交互:智慧管家可以通过语音识别和自然语言处理技术,与您或家人进行交互和对话。 96. 您只需对它说出您的需求,它就会立刻执行。 97. 无论是预约洗衣服务、订餐、调节家居温度还是其他家务,智慧管家都能轻松胜任。 98. 日程管理:智慧管家可以帮助您管理日程安排,无论是重要的会议、约会、生日还是其他重要事件,它都可以为您记录并提醒。 99. 您只需告诉它您的日程安排,它就会在适当的时候提醒您,以确保您不会错过任何重要的事情。 100. 健康管理:智慧管家还可以监测和记录您的健康数据,例如心率、睡眠质量等。 101. 它可以为您提供个性化的健康建议和推荐,帮助您更好地管理自己的健康。 102. 与健康设备连接后,它可以实时传输数据并生成健康报告,使您对自己的健康状况有更全面的了解。 103. 家居控制:智慧管家还可以与智能家居设备进行连接,实现远程控制和自动化操作。 104. 通过手机应用程序或语音指令,您可以调节家居设备的亮度、颜色、音量等,为您创造更加便捷和舒适的居住环境。 105. 购物和外卖服务:智慧管家还能为您提供个性化的购物和外卖服务。 106. 基于您的喜好和需求,它会为您推荐合适的商品或菜品,并帮助您完成下单和支付。 107. 通过智能手机或智能音箱与智慧管家进行交互,您可以轻松享受购物和外卖的便利。 108. 总的来说,家用机器人通过智能科技和人工智能技术,为您提供贴心、个性化的家庭服务和生活管理。 109. 无论您需要什么帮助,只需一声令下,智慧管家都会立刻响应,竭诚为您服务。 110. 在智慧管家的帮助下,您可以享受到更加舒适、便捷的生活体验。 111. 亮点4:安全卫士,保护您的家庭 112. 家庭安全是每个家庭成员最关注的事情之一。家用机器人将成为您的得力助手,为您的家庭安全保驾护航。 113. 这些机器人内置了多种传感器和摄像头,可以随时监测您家中的状况,一旦发现异常情况,就会立即向您发送警报通知,并采取适当的行动。 114. 无论您在家还是外出,都能够放心知晓家中的安全状况。 115. 接下来为您详细介绍家用机器人在安全保护和协助服务方面具备的功能: 116. 安保任务:机器人可以在夜间或空闲时间巡逻,检查门窗是否关闭、有没有异常人员进入、烟雾或火灾等危险情况。 117. 一旦发现异常情况,机器人会立即发出警报,通知您和家庭成员。 118. 监控服务:机器人可以装备摄像头和传感器,对家庭环境进行监控,并提供实时视频和图像警报。 119. 它们可以在居住区域周围巡逻,确保家庭的安全和隐私。 120. 此外,机器人还可以监控您家的空气质量、温度和湿度等参数,为您的家庭健康保驾护航。 121. 消防服务:机器人可以监测室内的环境和温度,并及时发现火灾和其他危险情况。 122. 它们还可以配备喷水设备或灭火器,当发生火灾时快速采取行动,有效地避免火势扩散。 123. 此外,机器人还可以通过APP应用程序向您推送火警信息,让您及时了解并处理火情。 124. 家庭助手:机器人可以帮助您管理家庭事务,例如记录购物清单、制定日程、提醒重要事件、控制家用电器等。 125. 它们可以通过语音交互或APP应用程序,为您提供个性化的服务和支持。 126. 此外,机器人还可以为您的家庭成员提供日常生活的帮助,例如为老年人提供日常护理等服务。 127. 数据保护:机器人可以帮助您保护家庭网络的安全,防止黑客入侵和数据泄露。 128. 它们可以监控网络流量、追踪异常活动,并提供加密和安全存储数据的方案。 129. 此外,机器人还可以为您的家庭成员提供网络安全教育等服务,帮助家庭成员更好地保护个人隐私和信息安全。 130. 总的来说,家用机器人在安全保护和协助服务方面具备多种功能。 131. 这些机器人利用智能科技和人工智能技术,为您提供更完善、更高效和更可靠的安全保障服务,确保您和家人的安全和幸福。 132. 无论您是在家中还是外出,都可以随时了解家中的安全状况,并采取适当的措施来保护自己和家人的安全。 133. 亮点5:生活伴侣,温暖陪伴 134. 家用机器人不仅是您的得力助手,更是您贴心的家庭管家和忠实伴侣。 135. 它们会陪伴您度过孤独的时刻,提供友好的交流和精彩的娱乐,让您永远不再感到孤单。 136. 无论是与机器人一起跳舞、聊天还是观看电影,它们都能成为您开心时光的陪伴者。 137. 当家用机器人作为生活伴侣时,它们可以为您提供以下详细的功能和服务: 138. 陪伴和娱乐:家用机器人可以成为您的生活伴侣,与您进行互动和交流。 139. 它们可以讲笑话、唱歌、讲故事,甚至能够跳舞和演奏乐器。 140. 这些功能可以为您带来娱乐和愉快的时光。 141. 语音助手和智能答疑:家用机器人通常配备有语音助手功能。 142. 您可以通过语音与机器人交谈,并询问问题,例如天气预报、新闻资讯、体育比分、菜谱等。 143. 机器人会为您提供准确的回答和信息。 144. 日程管理和提醒:机器人可以帮助您管理日程安排,并提醒您重要的事项和活动。 145. 您可以告诉机器人您的约会、会议、送孩子上学等日程安排,它会在需要时向您发出提醒,确保您不会错过重要的事情。 146. 健康管理:家用机器人可以帮助您监测健康数据并提供健康建议。 147. 例如,它们可以记录您的步数、心率、睡眠等健康指标,并提供运动建议、饮食推荐等。 148. 有些机器人还可以与智能手环或智能健康设备连接,实时获取您的健康数据。 149. 学习辅助:机器人可以成为您的学习伴侣,提供知识和教育支持。 150. 它们可以回答您的问题、解释概念、讲解学科知识等。 151. 此外,它们还可以提供语言学习、词汇扩充、乐器演奏等方面的辅助功能。 152. 社交互动:家用机器人可以连接到社交媒体平台,帮助您与朋友和家人保持联系。 153. 它们可以发送消息、播放语音邮件、查找联系人等。 154. 有些机器人还具备 人脸识别 技术,能够识别面孔并与熟悉的人进行互动。 155. 总的来说,家用机器人作为生活伴侣可以提供陪伴和娱乐、语音助手和智能答疑、日程管理和提醒、健康管理、学习辅助和社交互动等功能。 156. 它们为您提供全方位的个性化服务,使您的生活更加便捷、有趣和充实。 157. 无论您需要什么帮助,只需一声令下,家用机器人就会立刻行动起来,竭诚为您服务。 158. 在机器人的陪伴下,您将享受到更加轻松愉悦的生活体验。 159. 亮点6:创新交互,直观互动 160. 家用机器人不仅为您的家庭生活带来了便利和智能,还引入了许多创新的交互方式,让您可以更加直观和自然地与科技互动。 161. 下面,我们为您详细介绍家用机器人在交互创新方面的功能和特点: 162. 语音交互:您只需向机器人发出语音指令,就可以实现各种功能,如查询信息、播放音乐、设定提醒等。 163. 家用机器人还具备语音识别和语音回应功能,让您能够与机器人进行流畅的对话和交流。 164. 视觉交互:家用机器人配备了先进的摄像头和视觉传感器,可以通过图像识别和视觉感知与您进行交互。 165. 例如,机器人可以识别家庭成员的面孔、手势和身体姿势,并做出个性化的反应和服务。 166. 触觉交互:有些家用机器人还具备触觉感知功能,能够感知您的触摸动作并做出相应的反馈。 167. 例如,当您轻轻拍打机器人时,它可以发出声音或做出震动来回应您。 168. 姿势感知:家用机器人具备姿势感知技术,能够识别和解读您的身体姿势和手势动作。 169. 通过特定的手势,您可以控制机器人执行特定的任务或操作,例如通过手势命令机器人播放音乐、调节音量等。 170. 情感交互:为了让您与机器人的交互更加真实和人性化,家用机器人还具备情感识别和表达能力。 171. 它们可以识别您的情绪状态,并通过语音、表情和语调等方式进行情感回应,从而产生更加亲密和自然的交互体验。 172. 虚拟现实和增强现实:随着虚拟现实和增强现实技术的不断发展,家用机器人也开始融合这些技术, 173. 通过增强现实显示信息、虚拟现实与用户互动等方式,为您提供更加沉浸式的交互体验。 174. 例如,您可以与机器人进行虚拟游戏互动、虚拟场景体验等。 175. 以上介绍的是家用机器人在交互创新方面的一些例子。 176. 随着科技的不断发展,我们可以期待更多创新、有趣、便捷和个性化的交互方式的出现,让我们的生活更加智能、便捷和丰富多彩。 177. 亮点7:个性定制,专属服务 178. 家用机器人不仅可以为您提供全方位的服务,还可以根据您的喜好和需求进行个性化定制。 179. 您可以根据自己的偏好对机器人的界面、功能和主题进行定制,打造出独一无二的专属智能设备。 180. 下面我们来详细介绍家用机器人的个性化定制功能: 181. 外观定制:您可以选择机器人的颜色、形状、材质等,甚至可以更换外壳,以适应不同场景和氛围。 182. 例如,您可以将机器人定制为可爱的卡通外形,或是设计成简约时尚的现代风格。 183. 语音助手设置:您可以根据自己的偏好选择机器人的语音助手角色和声音风格。 184. 例如,您可以选择一个温柔的女声、一个幽默的男声,或是选择带有不同地区口音的语音助手。 185. 偏好设置:家用机器人可以学习并记忆您和家人的偏好,例如音乐、电影、食物、运动等。 186. 基于这些偏好,机器人可以为您推荐相关的内容和服务,例如为您播放喜欢的音乐、推荐适合您的电影。 187. 定制化技能和应用:您可以根据个人兴趣和需求为机器人添加特定的技能和应用。 188. 例如,如果您对健康管理感兴趣,可以为您的机器人添加健康管理技能,让它成为您的私人健康助手。 189. 日程和提醒设置:您可以根据自己的日程安排和喜好设置机器人的提醒时间、重要事件和活动。 190. 例如,您可以设置机器人在每天早上为您提醒待办事项,或是在您设定的时间(如孩子的放学时间)提醒您。 191. 互动风格和情感回应:您可以调整机器人的回答方式、交流风格和情感表达,以获得更符合自己喜好的互动体验。 192. 例如,如果您喜欢轻松愉悦的交流氛围,可以调整机器人的情感为“开心”或“愉快”。 193. 安全和隐私设置:您可以根据自己的需求对隐私设置进行个性化调整。 194. 例如,您可以设置是否允许机器人记录语音指令、保存个人信息等。 195. 总的来说,家用机器人的个性化定制可以从外观设计、语音助手设置、偏好设置、等多个方面进行。 196. 这些定制化的设置可以满足您和家人的需求和偏好,提供更加符合您家庭个性的服务和用户体验。 197. 无论您是追求时尚还是实用,家用机器人都能满足您的各种需求。 198. 这款家用机器人真的非常棒! 199. 它不仅拥有出色的功能,还具备卓越的性能, 200. 让您可以尽享科技的奇迹,轻松体验畅快无比的运行速度和极致的使用感受。 201. 首先,这款家用机器人搭载了强大的处理器和计算能力。 202. 处理器是机器人的大脑,能够快速处理各种数据和指令,使得机器人能够迅速响应您的各种需求。 203. 同时,高效的计算能力使得机器人能够轻松应对复杂的算法和计算任务,为您带来更聪明的智能体验。 204. 您知道吗?这款家用机器人采用了高效的传感器技术。 205. 传感器就如同机器人的眼睛和耳朵,能够实时感知周围环境和您的指令。 206. 例如,激光雷达可以扫描前方障碍物并绘制地形地貌,摄像头能够捕捉您的动作和表情,触觉传感器能够感知物体的质地和温度等。 207. 这些传感器将获取的数据迅速传输给机器人的控制系统,以便它能够快速准确地响应您的需求。 208. 优化的导航和路径规划算法也是这款家用机器人的亮点之一。 209. 这些算法能够帮助机器人根据环境中的障碍物和目标位置,快速计算出最优的路径,从而实现高速并安全地移动。 210. 有了这些算法的支持,您不必担心机器人会迷路或撞到家具等障碍物。 211. 同时,这些高效的导航和路径规划算法还支持机器人进行自我学习和优化,使其在未来的使用中能够更加智能地完成任务。 212. 此外,这款家用机器人具备快速的通信和数据传输能力。 213. 它能够与其他智能设备或云端服务器进行快速的数据交换和信息共享。 214. 例如,您可以远程控制机器人执行任务并将结果实时传输给您,或者与其他智能设备进行协作完成更复杂的任务。 215. 这种通信和数据传输能力使得您可以轻松地与机器人进行交互,并随时随地控制它的操作。 216. 您可能不知道的是,这款家用机器人还具备稳定的电力供应和支持系统。 217. 高速运行时,机器人需要稳定的电力来保证各项功能的正常运行。 218. 可靠的电源系统和支持系统如冷却系统、散热装置等则能确保其长时间运行时的稳定性和可靠性。 219. 这意味着您可以长时间使用机器人而无需担心电量不足或出现故障。 220. 此外,这款机器人的电源系统还支持快速充电功能,让您在需要时可以迅速充满电量。 221. 这款家用机器人还具备精细化的动作控制与执行能力。 222. 它能够实现高速运动时的平衡和稳定,这得益于优化的关节设计和控制算法。 223. 这些算法使得机器人的动作更加流畅、准确,并且具备高速响应能力。 224. 无论是行走、搬运物品还是执行其他动作,机器人都能轻松应对。 225. 同时,这款机器人的动作控制与执行能力还支持高精度的操作和感知,使其在完成各种任务时更加准确和灵活。 226. 此外,这款家用机器人还拥有持久的续航能力。 227. 它采用了大容量电池,能够为您提供更长时间的使用体验。 228. 您无需频繁充电,从而可以更加专注于工作和生活的其他重要事项。 229. 同时,这款机器人的电池寿命长且维护成本低,为您节省了更多的时间和金钱成本。 230. 这种持久的续航能力使得您可以在一个充电周期内长时间使用机器人,而不必担心电量问题。 231. 这款家用机器人还采用了超高清显示技术。 232. 它拥有出色的色彩表现、高亮度和对比度,带给您细腻的色彩和清晰度。 233. 无论是在观看电影、浏览图片还是玩游戏时,您都可以享受到极致的视觉体验。 234. 领先的显示技术为您带来了更加逼真的图像效果,让您仿佛身临其境地沉浸在视觉盛宴中。 235. 同时,超高清显示技术还支持高帧率和低延迟传输,让您在操控机器人时更加流畅和精准。 236. 最后,这款家用机器人还具备丰富的接口和强大的多功能集成能力。 237. 这意味着您可以轻松地将它与其他设备连接起来,实现各种智能化的功能。 238. 例如,您可以将其与智能家居系统连接起来,通过语音指令控制灯光、空调等设备; 239. 或者将它与娱乐设备连接起来,享受音乐、视频等多媒体娱乐体验。 240. 同时,这款机器人的多功能集成能力还支持自定义编程和控制,让您根据自己的需求进行扩展和定制化操作。 241. 总之,这款家用机器人以其卓越的性能、畅快的运行速度、持久的续航能力、丰富的接口以及多功能集成能力等特点而备受瞩目。 242. 它将为您的生活带来更多便捷和乐趣,让您轻松畅享科技奇迹带来的美好时光! 243. 在深入了解家用机器人的各项卓越功能和性能优势之后,让我们把目光转向这款机器人的外观设计。 244. 家用机器人采用了最新的人性化流线型设计,不仅美观大方,更为其赋予了极高的科技感。 245. 主体以简洁优雅的白色为主,配以深灰色的点缀,使其在任何家居环境中都能显得和谐而时尚。 246. 这款家用机器人的体积轻巧,高度仅为70厘米,轻巧的体积使得在家中移动它变得轻松自如。 247. 无论是放在客厅的茶几上,还是放在厨房的料理台上,它都能完美融入您的生活环境,成为您生活中的一员。 248. 此外,家用机器人的外壳采用了环保可回收材料,触感柔软舒适,为您带来安全放心的使用体验。 249. 同时,这种设计也充分考虑到了可持续性和环保性,使得您的选择不仅贴合科技潮流,也符合绿色生活的理念。 250. 它的面部设计非常人性化,装有一块高清显示屏,可以显示各种信息,包括时间、日期、室内温度等。 251. 同时,这款机器人还支持视频通话功能,为您和您的家人提供更加便捷的沟通方式。 252. 家用机器人还拥有丰富的面部表情和动作,能够通过内置的摄像头和传感器感知周围环境,根据不同场景做出相应的反应。 253. 例如,当您与它进行语音交流时,它的表情会根据您的话语进行相应的变化,使您感受到更加真实的互动体验。 254. 总的来说,家用机器人不仅是一款功能强大的智能家居设备,更是您生活中的贴心伙伴。 255. 它将为您带来更多便利和惊喜,让您的生活更加轻松、愉悦。快来购买家用机器人,让它成为您家庭的一员,与您共同创造美好的未来! 256. 为了感谢广大消费者一直以来对我们的热情支持,品牌现在特别推出限时优惠活动! 257. 购买家用机器人,即可享受超值优惠!数量有限,先到先得! 258. 从2023年10月1日到2023年10月30日,您可以在全国各大电商平台及实体店购买指定家用机器人, 259. 享受8折优惠并获赠价值1000元的实用配件套餐。 260. 您可以自由选择各种款式和型号的家用机器人, 261. 从清洁机器人到烹饪机器人,从智能家居控制到家庭安全监控,各种功能应有尽有。 262. 您也可以根据自己的需求和预算选择不同型号和配置的机器人。 263. 购买家用机器人不仅是一种享受,更是一种投资。 264. 家用机器人能够在短时间内完成繁琐的家务工作,让您有更多的时间享受生活。 265. 再也不用为打扫卫生而烦恼,省下来的时间可以陪伴家人、读书学习或者做自己喜欢的事情。 266. 只需一键下单,即可享受上门安装和贴心售后服务,让您无后顾之忧。 267. 遇到任何使用问题或需要保养,都可以联系我们的专业客服团队,我们会为您提供及时帮助。 268. 我们的家用机器人具有高品质和出色的性能,能够满足您不同的需求并为您的生活带来更多便利。 269. 限时折扣让您能够以更实惠的价格拥有高性能的家用机器人。 270. 不要再为高昂的价格而犹豫了,现在是购买的最佳时机!限时优惠真的不容错过! 271. 我们相信您会珍惜这次机会并选择最适合您的家用机器人。 272. 活动有以下几点注意事项: 273. 请在活动期间购买指定家用机器人,并在付款时出示优惠券代码。 274. 在电商平台或实体店中,只需在购物车中输入优惠券代码,即可享受折扣优惠。 275. 您可以随时联系我们的客户服务团队或在社交媒体上查找相关活动信息以获取更多帮助。 276. 活动期间仅限部分款式家用机器人享受折扣优惠。 277. 请在活动页面查看具体参与活动的机器人型号及其折扣优惠。我们鼓励您参与这次活动并抓住机会获得优质的产品和服务。 278. 本活动最终解释权归机器人生产厂商所有。 279. 但我们承诺,您在购买指定家用机器人后,将会享受到优质的售后服务和保障。 280. 我们会为您提供全面的支持和保障,确保您在使用过程中获得最佳的体验和满意度。 281. 本活动时间有限,数量有限,先到先得! 282. 在优惠期间购买的家用机器人将享受售后服务和升级支持。 283. 如果您想了解更多详情,请赶快联系我们的客户服务团队,让智能科技改变您的生活! 284. 我们期待着为您提供优质的产品和服务,并希望您能够满意并享受智能科技带来的便捷和乐趣。 285. 家用机器人作为全新一代智能科技产品,不仅带来了创新颠覆的技术应用,还为您的生活带来了前所未有的便捷和乐趣。 286. 价格之低令人心动。还等什么? 287. 赶快行动起来,带上家用机器人,开启智能家居新篇章! 288. 让我们一起迎接智能科技的未来并享受它带来的便利和愉悦吧! 父主题: 文案样例(高品质)
  • 日志接入 主机接入LTS后无法采集到日志? 在AOM关闭超额继续采集日志开关,会影响LTS收集日志吗? 使用ICAgent收集日志时CPU占用较高怎么处理? 云日志服务LTS 支持采集的日志类型和文件类型有哪些? 如何在LTS页面关闭CCE标准输出日志默认采集到AOM? 使用ICAgent采集日志时,推荐的日志轮转方案是什么? 是否支持Log4j插件上报日志到LTS? LTS配置日志接入后多久有日志?
  • 宽限期和保留期资源的时长限制是什么? 客户的包年/包月资源宽限期到期未续费、按需资源扣费失败且在宽限期到期前未充值,则进入保留期,保留期资源被冻结不能使用,通过续费或充值解冻资源。 华为云中国站宽限期和保留期时长限制如表1所示。华为云有权根据客户等级定义不同客户的宽限期和保留期时长。具体请参见宽限期和保留期。 表1 不同订购方式宽限期和保留期时长限制说明 客户等级 包年/包月资源 按需资源 - 宽限期(自然日) 保留期(自然日) 宽限期(自然日) 保留期(自然日) V5 7 15 7 15 V4 V3 7 7 1 7 V2 1 7 0 7 V1 V0 1 1 0 1 父主题: 资源
  • 代码样例 下面代码片段在com.huawei.bigdata.hbase.examples包的“TestMain”类的init方法中。 private static void init() throws IOException { // Default load from conf directory conf = HBaseConfiguration.create(); //In Windows environment String userdir = TestMain.class.getClassLoader().getResource("conf").getPath() + File.separator; //In Linux environment //String userdir = System.getProperty("user.dir") + File.separator + "conf" + File.separator; conf.addResource(new Path(userdir + "core-site.xml"), false); conf.addResource(new Path(userdir + "hdfs-site.xml"), false); conf.addResource(new Path(userdir + "hbase-site.xml"), false); }
  • Python样例代码 下面代码片段仅为演示,具体代码参见SparkOnHbasePythonExample中的AvroSource文件: # -*- coding:utf-8 -*- """ 【说明】 (1)由于pyspark不提供HBase相关api,本样例使用Python调用Java的方式实现 (2)如果使用yarn-client模式运行,请确认Spark2x客户端Spark2x/spark/conf/spark-defaults.conf中 spark.yarn.security.credentials.hbase.enabled参数配置为true """ from py4j.java_gateway import java_import from pyspark.sql import SparkSession # 创建SparkSession spark = SparkSession\ .builder\ .appName("AvroSourceExample")\ .getOrCreate() # 向sc._jvm中导入要运行的类 java_import(spark._jvm, 'com.huawei.bigdata.spark.examples.datasources.AvroSource') # 创建类实例并调用方法,传递sc._jsc参数 spark._jvm.AvroSource().execute(spark._jsc) # 停止SparkSession spark.stop()
  • 打包项目 通过IDEA自带的Maven工具,打包项目,生成jar包。具体操作请参考在Linux环境中调测Spark应用。 将打包生成的jar包上传到Spark客户端所在服务器的任意目录(例如“$SPARK_HOME” )下。 将user.keytab、krb5.conf 两个文件上传客户端所在服务器上(文件上传的路径需要和生成的jar包路径一致)。 若运行“Spark on HBase”样例程序,需要在Spark客户端的“spark-defaults.conf”配置文件中将配置项“spark.yarn.security.credentials.hbase.enabled”设置为“true”(该参数值默认为“false”,改为“true”后对已有业务没有影响。如果要卸载HBase服务,卸载前请将此参数值改回“false”),将配置项“spark.inputFormat.cache.enabled”设置为“false”。
  • 提交命令 假设用例代码打包后的jar包名为spark-hbaseContext-test-1.0.jar,并将jar包放在客户端“$SPARK_HOME”目录下,以下命令均在“$SPARK_HOME”目录执行。 yarn-client模式: java/scala版本(类名等请与实际代码保持一致,此处仅为示例) bin/spark-submit --master yarn --deploy-mode client --jars /opt/female/protobuf-java-2.5.0.jar --conf spark.yarn.user.classpath.first=true --class com.huawei.bigdata.spark.examples.datasources.AvroSource SparkOnHbaseJavaExample.jar python版本(文件名等请与实际保持一致,此处仅为示例),假设对应的Java代码打包后包名为SparkOnHbaseJavaExample.jar,且放在当前提交目录。 bin/spark-submit --master yarn --deploy-mode client --conf spark.yarn.user.classpath.first=true --jars SparkOnHbaseJavaExample.jar,/opt/female/protobuf-java-2.5.0.jar AvroSource.py yarn-cluster模式: java/scala版本(类名等请与实际代码保持一致,此处仅为示例) bin/spark-submit --master yarn --deploy-mode cluster --jars /opt/female/protobuf-java-2.5.0.jar --conf spark.yarn.user.classpath.first=true --class com.huawei.bigdata.spark.examples.datasources.AvroSource --files /opt/user.keytab,/opt/krb5.conf SparkOnHbaseJavaExample.jar python版本(文件名等请与实际保持一致,此处仅为示例),假设对应的Java代码打包后包名为SparkOnHbaseJavaExample.jar,且放在当前提交目录。 bin/spark-submit --master yarn --deploy-mode cluster --files /opt/user.keytab,/opt/krb5.conf --conf spark.yarn.user.classpath.first=true --jars SparkOnHbaseJavaExample.jar,/opt/female/protobuf-java-2.5.0.jar AvroSource.py
  • 代码样例 以下代码片段在com.huawei.bigdata.hbase.examples包的“HBaseSample”类的testScanData方法中。 public void testScanData() { LOG .info("Entering testScanData."); Table table = null; // Instantiate a ResultScanner object. ResultScanner rScanner = null; try { // Create the Configuration instance. table = conn.getTable(tableName); // Instantiate a Get object. Scan scan = new Scan(); scan.addColumn(Bytes.toBytes("info"), Bytes.toBytes("name")); // Set the cache size. scan.setCaching(1000); // Submit a scan request. rScanner = table.getScanner(scan); // Print query results. for (Result r = rScanner.next(); r != null; r = rScanner.next()) { for (Cell cell : r.rawCells()) { LOG.info("{}:{},{},{}", Bytes.toString(CellUtil.cloneRow(cell)), Bytes.toString(CellUtil.cloneFamily(cell)), Bytes.toString(CellUtil.cloneQualifier(cell)), Bytes.toString(CellUtil.cloneValue(cell))); } } LOG.info("Scan data successfully."); } catch (IOException e) { LOG.error("Scan data failed " ,e); } finally { if (rScanner != null) { // Close the scanner object. rScanner.close(); } if (table != null) { try { // Close the HTable object. table.close(); } catch (IOException e) { LOG.error("Close table failed " ,e); } } } LOG.info("Exiting testScanData."); }
  • HBase应用开发流程介绍 本文档主要基于Java API对HBase进行应用开发。 开发流程中各阶段的说明如图1和表1所示。 图1 HBase应用程序开发流程 表1 HBase应用开发的流程说明 阶段 说明 参考文档 了解基本概念 在开始开发应用前,需要了解HBase的基本概念,了解场景需求,设计表等。 HBase常用概念 准备开发和运行环境 HBase的应用程序当前推荐使用Java语言进行开发。可使用IntelliJ IDEA工具。HBase的运行环境即HBase客户端,根据指导完成客户端的安装和配置。 准备HBase应用开发和运行环境 准备工程 HBase提供了不同场景下的样例程序,您可以导入样例工程进行程序学习。 导入并配置HBase样例工程 准备安全认证 如果您使用的是安全集群,需要进行安全认证。 配置HBase应用安全认证 根据场景开发工程 提供了Java语言的样例工程,包含从建表、写入到删除表全流程的样例工程。 开发HBase应用 编译并运行程序 指导用户将开发好的程序编译并提交运行。 调测HBase应用 查看程序运行结果 程序运行结果会写在用户指定的路径下。用户还可以通过UI查看应用运行情况。 父主题: HBase开发指南(安全模式)
  • 代码样例 以下代码片段在com.huawei.bigdata.hbase.examples包的“HBaseSample”类的dropTable方法中。 public void dropTable() { LOG.info("Entering dropTable."); Admin admin = null; try { admin = conn.getAdmin(); if (admin.tableExists(tableName)) { // Disable the table before deleting it. admin.disableTable(tableName); // Delete table. admin.deleteTable(tableName);//注[1] } LOG.info("Drop table successfully."); } catch (IOException e) { LOG.error("Drop table failed " ,e); } finally { if (admin != null) { try { // Close the Admin object. admin.close(); } catch (IOException e) { LOG.error("Close admin failed " ,e); } } } LOG.info("Exiting dropTable."); }
  • Doris样例工程介绍 MRS 样例工程获取地址为https://github.com/huaweicloud/huaweicloud-mrs-example,切换分支为与MRS集群相匹配的版本分支,然后下载压缩包到本地后解压,即可获取各组件对应的样例代码工程。 当前MRS提供以下Doris相关样例工程: 表1 Doris相关样例工程 样例工程位置 描述 doris-examples/doris-example Doris数据读写操作的应用开发示例。 通过调用Doris接口可实现创建用户表、向表中插入数据、查询表数据、删除表等功能,相关业务场景介绍请参见Doris JDBC接口调用样例程序。 springboot/doris-examples Doris数据读写操作的SpringBoot应用开发示例。 提供Doris对接SpringBoot的样例,样例介绍请参见配置并导入SpringBoot样例工程。
  • 常用概念 在Doris中,数据都以表(Table)的形式进行逻辑上的描述。 Row&Column 一张表包括行(Row)和列(Column): Row:即用户的一行数据。 Column: 用于描述一行数据中不同的字段。 Column可以分为两大类:Key和Value。从业务角度看,Key和Value可以分别对应维度列和指标列。从聚合模型的角度来说,Key列相同的行,会聚合成一行。其中Value列的聚合方式由用户在建表时指定。 Tablet&Partition 在Doris的存储引擎中,用户数据被水平划分为若干个数据分片(Tablet,也称作数据分桶)。每个Tablet包含若干数据行。各个Tablet之间的数据没有交集,并且在物理上是独立存储的。 多个Tablet在逻辑上归属于不同的分区(Partition)。一个Tablet只属于一个Partition,而一个Partition包含若干个Tablet。因为Tablet在物理上是独立存储的,所以可以视为Partition在物理上也是独立。Tablet是数据移动、复制等操作的最小物理存储单元。 若干个Partition组成一个Table。Partition可以视为是逻辑上最小的管理单元。数据的导入与删除,仅能针对一个Partition进行。 数据模型 Doris的数据模型主要分为三类:Aggregate、Unique、Duplicate。 Aggregate模型 导入数据时,对于Key列相同的行会聚合成一行,而Value列会按照设置的AggregationType进行聚合。 AggregationType目前有以下四种聚合方式: SUM:求和,多行的Value进行累加。 REPLACE:替代,下一批数据中的Value会替换之前导入过的行中的Value。 MAX:保留最大值。 MIN:保留最小值。 Unique模型 在某些多维分析场景下,用户更关注的是如何保证Key的唯一性,即如何获得Primary Key唯一性约束。因此,引入了Unique数据模型。 读时合并 Unique模型的读时合并实现完全可以用Aggregate模型中的REPLACE方式替代。其内部的实现方式和数据存储方式也完全一样。 写时合并 Unique模型的写时合并实现,查询性能更接近于Duplicate模型,在有主键约束需求的场景上相比Aggregate模型有较大的查询性能优势,尤其是在聚合查询以及需要用索引过滤大量数据的查询中。 在开启了写时合并选项的Unique表上,数据在导入阶段就会去将被覆盖和被更新的数据进行标记删除,同时将新的数据写入新的文件。在查询的时候,所有被标记删除的数据都会在文件级别被过滤掉,读取出来的数据就都是最新的数据,消除掉了读时合并中的数据聚合过程,并且能够在很多情况下支持多种谓词的下推。因此在许多场景都能带来比较大的性能提升,尤其是在有聚合查询的情况下。 Duplicate模型 在某些多维分析场景下,数据既没有主键,也没有聚合需求。可以引入Duplicate数据模型来满足这类需求。 这种数据模型区别于Aggregate和Unique模型。数据完全按照导入文件中的数据进行存储,不会有任何聚合。即使两行数据完全相同,也都会保留。 而在建表语句中指定的DUPLICATE KEY,只是用来指明底层数据按照哪些列进行排序。 数据模型的选择建议 因为数据模型在建表时就已经确定,且无法修改。所以,选择一个合适的数据模型非常重要。 Aggregate模型可以通过预聚合,极大地降低聚合查询时所需扫描的数据量和查询的计算量,非常适合有固定模式的报表类查询场景。但是该模型对count(*) 查询不友好。同时因为固定了Value列上的聚合方式,在进行其他类型的聚合查询时,需要考虑语意正确性。 Unique模型针对需要唯一主键约束的场景,可以保证主键唯一性约束。但是无法利用ROLLUP等预聚合带来的查询优势。 对于聚合查询有较高性能需求的用户,推荐使用自1.2版本加入的写时合并实现。 Unique模型仅支持整行更新,如果用户既需要唯一主键约束,又需要更新部分列(例如将多张源表导入到一张Doris表的情形),则可以考虑使用Aggregate模型,同时将非主键列的聚合类型设置为REPLACE_IF_NOT_NULL。 Duplicate适合任意维度的Ad-hoc查询。虽然同样无法利用预聚合的特性,但是不受聚合模型的约束,可以发挥列存模型的优势(只读取相关列,而不需要读取所有Key列)。
  • 代码样例 以下代码片段在com.huawei.bigdata.hbase.examples包的“GlobalSecondaryIndexSample”类中。 本样例用于查询指定id对应的id、age、name信息,并命中idx_id_age索引,由于查询结果被完全覆盖,且无需回原表查询,能够达到最优的查询性能。 /** * Scan data by secondary index. */ public void testScanDataByIndex() { LOG.info("Entering testScanDataByIndex."); Scan scan = new Scan(); // Create a filter for indexed column. SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("info"), Bytes.toBytes("id"), CompareOperator.EQUAL, Bytes.toBytes("3")); filter.setFilterIfMissing(true); scan.setFilter(filter); // Specify returned columns // If returned columns not included in index table, will query back user table, // it's not the fast way to get data, suggest to cover all needed columns. // If you want to confirm whether using index for scanning, please set hbase client log level to DEBUG. scan.addColumn(Bytes.toBytes("info"), Bytes.toBytes("id")); scan.addColumn(Bytes.toBytes("info"), Bytes.toBytes("age")); scan.addColumn(Bytes.toBytes("info"), Bytes.toBytes("name")); LOG.info("Scan indexed data."); try (Table table = conn.getTable(tableName); ResultScanner scanner = table.getScanner(scan)) { for (Result result : scanner) { for (Cell cell : result.rawCells()) { LOG.info("{}:{},{},{}", Bytes.toString(CellUtil.cloneRow(cell)), Bytes.toString(CellUtil.cloneFamily(cell)), Bytes.toString(CellUtil.cloneQualifier(cell)), Bytes.toString(CellUtil.cloneValue(cell))); } } LOG.info("Scan data by index successfully."); } catch (IOException e) { LOG.error("Scan data by index failed ", e); } LOG.info("Exiting testScanDataByIndex."); }
  • 配置运行环境网络 用于程序调测或运行的节点,需要与MRS集群内节点网络互通,同时配置hosts 域名 信息。 场景一:配置本地Windows开发环境与MRS集群节点内网络互通。 登录 FusionInsight Manager,在“主页”右上方单击“下载客户端”,“选择客户端类型”设置为“仅配置文件”,单击“确定”,等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。 例如,客户端配置文件压缩包为“FusionInsight_Cluster_1_Services_Client.tar”,解压后得到“FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar”,继续解压该文件。 复制解压目录下的“hosts”文件中的内容到本地hosts文件中。 在应用开发过程中,如需在本地Windows系统中调测应用程序,需要确保本地节点能与“hosts”文件中所列出的各主机在网络上互通。 Windows本地hosts文件存放路径举例:“C:\WINDOWS\system32\drivers\etc\hosts”。 场景二:配置Linux环境与MRS集群节点内网络互通。 在节点中安装MRS集群客户端。 例如客户端安装目录为“/opt/client”。 获取配置文件: 登录FusionInsight Manager,在“主页”右上方单击“下载客户端”,“选择客户端类型”设置为“仅配置文件”,勾选“仅保存到如下路径”,单击“确定”,下载客户端配置文件至集群主 OMS 点。 以root登录主OMS节点,进入客户端配置文件所在路径(默认为“/tmp/FusionInsight-Client/”)。 例如客户端软件包为“FusionInsight_Cluster_1_Services_Client.tar”,下载路径为主管理节点的“/tmp/FusionInsight-Client”: cd /tmp/FusionInsight-Client tar -xvf FusionInsight_Cluster_1_Services_Client.tar tar -xvf FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar cd FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles 检查客户端节点网络连接。 在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。
  • 代码样例 以下代码片段在com.huawei.bigdata.hbase.examples包的“PhoenixSample”类的testPut方法中。 /** * Put data */ public void testPut() { LOG.info("Entering testPut."); String URL = "jdbc:phoenix:" + conf.get("hbase.zookeeper.quorum"); // Insert String upsertSQL = "UPSERT INTO TEST VALUES(1,'John','100000', TO_DATE('1980-01-01','yyyy-MM-dd'))"; try (Connection conn = DriverManager.getConnection(url, props); Statement stat = conn.createStatement()){ // Execute Update SQL stat.executeUpdate(upsertSQL); conn.commit(); LOG.info("Put successfully."); } catch (Exception e) { LOG.error("Put failed.", e); } LOG.info("Exiting testPut."); }
  • 功能简介 使用REST服务,传入对应host与port组成的url以及指定的Namespace,通过HTTPS协议,对Namespace进行创建、查询、删除,获取指定Namespace中表的操作。 HBase表以“命名空间:表名”格式进行存储,若在创建表时不指定命名空间,则默认存储在“default”中。其中,“hbase”命名空间为系统表命名空间,请不要对该系统表命名空间进行业务建表或数据读写等操作。
  • 前提条件 已安装客户端时: 已安装HBase客户端。 当客户端所在主机不是集群中的节点时,需要在客户端所在节点的hosts文件中设置主机名和IP地址映射。主机名和IP地址请保持一一对应。 未安装HBase客户端时: Linux环境已安装JDK,版本号需要和IntelliJ IDEA导出Jar包使用的JDK版本一致。 当Linux环境所在主机不是集群中的节点时,需要在节点的hosts文件中设置主机名和IP地址映射。主机名和IP地址请保持一一对应。
  • Python样例代码 下面代码片段仅为演示,具体代码参见SparkOnHbasePythonExample中的AvroSource文件: # -*- coding:utf-8 -*- """ 【说明】 由于pyspark不提供HBase相关api,本样例使用Python调用Java的方式实现 """ from py4j.java_gateway import java_import from pyspark.sql import SparkSession # 创建SparkSession spark = SparkSession\ .builder\ .appName("AvroSourceExample")\ .getOrCreate() # 向sc._jvm中导入要运行的类 java_import(spark._jvm, 'com.huawei.bigdata.spark.examples.datasources.AvroSource') # 创建类实例并调用方法,传递sc._jsc参数 spark._jvm.AvroSource().execute(spark._jsc) # 停止SparkSession spark.stop()
  • 打包项目 通过IDEA自带的Maven工具,打包项目,生成jar包。具体操作请参考在Linux环境中调测Spark应用。 将打包生成的jar包上传到Spark客户端所在服务器的任意目录(例如“$SPARK_HOME” )下。 若运行“Spark on HBase”样例程序,需要在Spark客户端的“spark-defaults.conf”配置文件中将配置项“spark.yarn.security.credentials.hbase.enabled”设置为“true”(该参数值默认为“false”,改为“true”后对已有业务没有影响。如果要卸载HBase服务,卸载前请将此参数值改回“false”),将配置项“spark.inputFormat.cache.enabled”设置为“false”。
  • 提交命令 假设用例代码打包后的jar包名为spark-hbaseContext-test-1.0.jar,并将jar包放在客户端“$SPARK_HOME”目录下,以下命令均在“$SPARK_HOME”目录执行。 yarn-client模式: java/scala版本(类名等请与实际代码保持一致,此处仅为示例) bin/spark-submit --master yarn --deploy-mode client --jars /opt/female/protobuf-java-2.5.0.jar --conf spark.yarn.user.classpath.first=true --class com.huawei.bigdata.spark.examples.datasources.AvroSource SparkOnHbaseJavaExample-1.0.jar python版本(文件名等请与实际保持一致,此处仅为示例) bin/spark-submit --master yarn --deploy-mode client --conf spark.yarn.user.classpath.first=true --jars SparkOnHbaseJavaExample-1.0.jar,/opt/female/protobuf-java-2.5.0.jar AvroSource.py yarn-cluster模式: java/scala版本(类名等请与实际代码保持一致,此处仅为示例) bin/spark-submit --master yarn --deploy-mode cluster --jars /opt/female/protobuf-java-2.5.0.jar --conf spark.yarn.user.classpath.first=true --class com.huawei.bigdata.spark.examples.datasources.AvroSource SparkOnHbaseJavaExample-1.0.jar python版本(文件名等请与实际保持一致,此处仅为示例) bin/spark-submit --master yarn --deploy-mode cluster --conf spark.yarn.user.classpath.first=true --jars SparkOnHbaseJavaExample-1.0.jar,/opt/female/protobuf-java-2.5.0.jar AvroSource.py
  • HBase介绍 HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。HBase设计目标是用来解决关系型数据库在处理海量数据时的局限性。 HBase使用场景有如下几个特点: 处理海量数据(TB或PB级别以上)。 具有高吞吐量。 在海量数据中实现高效的随机读取。 具有很好的伸缩能力。 能够同时处理结构化和非结构化的数据。 不需要完全拥有传统关系型数据库所具备的ACID特性。ACID特性指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。 HBase中的表具有如下特点: 大:一个表可以有上亿行,上百万列。 面向列:面向列(族)的存储和权限控制,列(族)独立检索。 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
共100000条