gitweixin
  • 首页
  • 小程序代码
    • 资讯读书
    • 工具类
    • O2O
    • 地图定位
    • 社交
    • 行业软件
    • 电商类
    • 互联网类
    • 企业类
    • UI控件
  • 大数据开发
    • Hadoop
    • Spark
    • Hbase
    • Elasticsearch
    • Kafka
    • Flink
    • 数据仓库
    • 数据挖掘
    • flume
    • Kafka
    • Hive
    • shardingsphere
    • solr
  • 开发博客
    • Android
    • php
    • python
    • 运维
    • 技术架构
    • 数据库
  • 程序员网赚
  • bug清单
  • 量化投资
  • 在线查询工具
    • 去行号
    • 在线时间戳转换工具
    • 免费图片批量修改尺寸在线工具
    • SVG转JPG在线工具
    • SVG转PDF/Word
    • SVG转Draw.io可二次编辑格式
    • js代码混淆

适当调整工作负载以在云中取得成功

精品微信小程序开发门户,代码全部亲测可用

  • 首页   /  
  • 作者: east
  • ( 页面38 )
云计算 5月 24,2023

适当调整工作负载以在云中取得成功

IT 和运营团队的任务是制定一项战略,以确保组织通过基于云的服务取得成功。当他们将工作负载迁移到公共云后,承诺的效率和节省没有实现时,他们常常感到失望。 Bain & Company 的一份报告,Rightsizing Your Way to the Cloud,包括对 60,000 多个工作负载的分析结果。贝恩咨询了 350 多位 IT 决策者,他们的云部署的哪些方面最令人失望且未达到他们的期望。抱怨最多的是拥有成本没有下降。在某些情况下,成本增加了。为什么没有达到预期?

该报告发现,当公司不执行必要的评估和准备时,将工作负载迁移到公共云的成本可能比将它们保留在遗留的本地环境中高出 15%。换句话说,尽管云计算的前景十分可观,但保持不变可能更具成本效益。

问题?现有的低效率正在转移到云端

Bain 的分析显示,84% 的本地工作负载被过度配置,其计算能力、内存和存储超出了高效运行所需。当 IT 运营购买的硬件多于确保它们具有足够的性能来满足工作负载需求高峰期所需的硬件时,任务关键型工作负载通常会发生过度配置。这包括使用更多装有硬盘驱动器的服务器进行横向扩展,以增加计算能力并最大程度地减少延迟。虽然硬盘驱动器成本合理,但像这样的大规模横向扩展会增加电力、冷却和管理成本。

当组织对基于云的服务采用这种方法时,他们会随之发送多余的计算和存储容量。他们并没有提高效率,而是使用一种称为“提升和转移”的方法,将现有的低效率转移到一个新的位置。贝恩发现,剥离多余的资源容量可以将云迁移成本降低多达 60%,同时降低在云中运行工作负载的长期成本。其他 IT 咨询专家也同意这一观点。根据 Forrester Research 最近的一项云成本优化研究,解决浪费的云使用和激增的云支出是云管理重要的第一步。

解决方案?合适的尺寸

调整工作负载大小涉及重新评估其所需的真实存储量和计算能力。为确定这一点,组织可以监控一段时间内的工作负载需求,以确定平均和峰值计算资源消耗。预期迁移到基于云的服务的组织应采取严格的方法来调整其工作负载,包括对整个企业的计算和存储实践进行全面评估。贝恩的经验表明,适当调整 IT 资源规模可以将运营和资本支出削减多达 30% 至 60%。

云迁移是一个长期过程,而不是一个事件

云迁移是一个长期过程,对于大规模、横向扩展的 Hadoop 和 Spark 分布式计算环境来说可能会持续数年。大多数组织一次迁移一个工作负载/应用程序。并非每个工作负载都属于云,组织将希望评估哪些是合适的候选者。由于涉及多个预迁移步骤,完成将工作负载实际迁移到云的任务需要时间。在迁移过程中,许多工作负载仍在本地运行。在可预见的未来,不适合云计算的工作负载将保留在本地。

作者 east
云计算 5月 23,2023

开始获得实时性能数据的优势

IT 基础架构服务需要不断调整和优化以维护 SLA,同时最大限度地提高您的投资。大数据的出现和随后的使用在这方面提供了巨大帮助。实时性能数据是最大限度发挥大数据力量的下一步发展。

虽然实时性能数据现在对现代企业的成功至关重要,但许多组织尚未完全由数据驱动。在 NewVantage Partners 最近的大数据和人工智能高管调查中,69% 的受访者表示他们尚未建立数据驱动的组织。在同一项研究中,72% 的受访者表示他们没有现成的数据文化。最重要的是,超过一半的参与者表示他们不将数据视为商业资产 (53%),并且不在数据和分析方面展开竞争 (52%)。

然而,随着消费者需求的增长和资源需求变得更加复杂,企业现在必须接受实时性能数据,以确保他们的 IT 架构能够跟上发展并且运营成本保持在可控范围内。

每个系统、流程、工作流和应用程序都会生成内部实时性能数据。为了提高效率和降低成本,企业利用这些数据来查看哪些任务运行缓慢,问题出在哪里,并消除瓶颈。

数据越新鲜,您就能越快地识别和解决问题。这导致更高效的流程和更快的决策制定。当来自系统、工作流和任务的数据可立即用于实时性能分析时,它们得出的见解质量更高且更具可操作性。

实时性能数据之所以强大,是因为它提供了最新的信息来改进优化工作、增强决策制定过程并实现更深入的调试、故障排除和规划。

速度是实时分析和数据处理的主要优势。企业及其 IT 团队无需等待数小时或数天才能处理和分析其性能数据。快速、实时的分析和数据处理为他们提供了执行必要调整、做出关键和战略决策以及在需要时启动干预所需的可靠信息。

应用程序数据的实时性能分析使您能够充分利用基础架构。通过对应用程序性能的实时观察,您可以快速收集来自所有层和堆栈的所有信息,并创建一个完整的画面。您会立即明白为什么您的应用程序会以它们现在的方式运行。您还知道如何快速果断地解决问题,将停机时间限制在最低限度,并确保为您的应用程序维护 SLA。

除了对您的 IT 基础设施、应用程序、工作流和流程进行快速可靠的观察之外,实时分析和数据处理还可以帮助预测资源消耗,从而允许用户为每个应用程序和任务分配适量的资源。在具有可扩展性和机器学习 (ML) 功能的 IT 堆栈优化系统中,实时性能分析有助于自动为应用程序和工作流分配和部署资源,以确保它们以最佳水平运行。

相当多的企业仍在使用过时的解决方案,几乎没有实时数据功能。这意味着他们的数据不会不断更新,也不是为与现代系统集成而设计的。数据变得停滞、孤立和无用。

对于某些组织而言,由于缺乏更新和更先进的绩效管理工具,他们需要手动收集和管理绩效数据。因此,分析和优化无法完全自动化。

如果依赖手动调整,数据的“实时新鲜度”将被浪费。要充分利用实时性能数据,企业需要同时利用自动优化和机器学习。

通过自动优化,该解决方案对整个 IT 基础架构中的所有数据执行实时性能分析。然后,该解决方案使用最理想的配置和资源数量自动扩展资源并运行应用程序和任务,以维护 SLA,同时降低成本。

作者 east
云计算 5月 23,2023

如何获得批准的项目的云 IT 预算

公司的 IT 预算就像汽车的燃料。就像汽车不会从空油箱开始一样,没有资金就无法启动 IT 项目。

但是,要获得批准的项目需要制定适当的预算计划。预算管理需要仔细规划和审议,需要考虑很多因素:材料和设备成本、人力资源和收入。此外,公司通常不会考虑优化工具,而优化工具应始终包含在 IT 项目预算中。

团队如何制定有效且令人信服的 IT 预算计划,将所有相关变量都考虑在内?

项目预算是项目必须实现的每项活动、任务和里程碑的综合成本。在编制预算时,公司必须始终将 IT 支出占收入的百分比考虑在内,并且必须找到一种方法为未来的项目预留大量资金。

创建 IT 项目预算的三个基本原因:

IT 项目可分为 CapEx(资本支出)或 OpEx(运营支出)项目。 OpEx 项目涉及正常业务期间产生的费用,其中包括一般和管理费用、研发和产品成本。同时,资本支出项目涉及购买新资产,如设备和设施,这将为公司带来长期利益。

对于 SaaS 行业,资本支出项目更常用于购买物理服务器和设施以支持本地基础设施。相比之下,由于云服务提供商采用的 OpEx 业务模型,OpEx 项目通常被云原生或混合基础设施公司使用。

如果监控不当,运营支出成本可能对 SaaS 公司造成毁灭性打击。在此处了解更多信息。

尽管 CapEx 和 OpEx 业务模型在方法上有所不同,但在使用任何一种模型进行预算规划时都应小心谨慎。对于云项目尤其如此。

如果忽视仔细的规划,在云中运营的企业将面临成本失控和资源浪费的危险。由于过度配置的资源和未优化的集群,许多基于云的公司从他们的云供应商那里经历了非常昂贵的云账单。

那么如何制定 IT 项目预算呢?

第一步是制定预算,从基层仔细考虑开始。需要多少收入?您正在为哪些任务制定预算?是否有您需要达到的里程碑?可以启动哪些新举措?创建一个范围并写下您的团队需要做的所有事情。

典型的 IT 预算细目包括以下内容:

不要忘记,在 Covid 之前或之后:

在您将项目计划提交给最终决策者之前,请考虑由经验丰富的人来执行,他们可以为您提供诚实的反馈。然后,在寻求最终批准之前,花点时间。这是 AT&T 高级全源空间/反空间情报分析师 Charles W. McBride:

“抛开预算,在预算上睡一晚,当你精神焕发时,再次仔细查看每一个数字,问一个简单的问题:我/我们错过了什么?我们都会时不时地错过一些东西,有时是大的,有时是小的。努力花适当的时间来始终仔细检查所有预算假设。你的名声和血压以后会感谢你的。”

在利益相关者审查后,您还可以在最终批准之前让会计师或可信赖的同行查看项目的 IT 预算管理。

预算批准后,就该执行项目了。实施 IT 项目预算与联邦政府的做法不同,在联邦政府中,扣押资金是防止超支的一种规范。对于企业主,您可以根据收入调整业务策略以应对支出增长。

American Recruiting & Consulting Group 的全球转型负责人兼高级项目经理 Neil Woodger 建议企业主“确保你有非常强烈的要求,并且他们得到完全同意和签署。随着项目的推进,范围蔓延是预算的最大消耗者。”

请记住:良好的预算不会限制您公司的支出。相反,它是贵公司战略和战术的财务体现。

完美计划的预算仍需接受审计和重新评估。预算也可以根据需要进行修订,以添加修订,例如收入变化、成本调整或任何其他必要信息。您需要密切关注如何有效地花钱,同时确保企业盈利。

持续的风险评估也是必要的。 “项目经理需要定期重新评估风险并相应地更新预算,”采购主管兼学术研究员 Taoufik Samaka 说。 “有条不紊的风险管理方法将帮助您涵盖与所有项目过程组相关的风险(最重要的是:范围、进度、成本、质量、资源、利益相关者)。”

IT 项目预算实施的重新评估阶段还突出了业务运营中经常被忽视的方面:优化。组织应该投资于优化工具,以提高 IT 项目预算的效率。

从优化的角度来看,更优化的系统会为预算管理留下更多资金,并为进一步的项目留下更多机会。而且,优化工具还可以让企业花更少的钱做更多的事情。

以 Pepperdata Suite 为例。 Pepperdata Suite 为大数据分析堆栈提供可观察性和自动优化。它允许您运行更多应用程序、跟踪您的支出并管理成本。我们的一些客户甚至在基础设施方面节省了 1000 万美元以上。

但 Pepperdata Suite 的另一个好处是吞吐量自动提高了 50%。换句话说,Pepperdata 使企业能够通过更有效地利用集群和知识生成来提高收入增长。

投资者更喜欢看到收入增长,因为稳定或萎缩的收入可能意味着公司将随着时间的推移而萎缩。这就是为什么增加收入和总收入的前景使优化工具成为预算的重要部分。此外,从高效运行的集群中收集的数据为组织提供了竞争优势,从而带来更多创新和更多获取收入的方法。

作者 east
云计算 5月 20,2023

构建现代数据堆栈

由于近 90% 的组织正在执行多云战略以将其数据和分析工作负载迁移到云端,因此“现代数据堆栈”一词继续获得更多关注。

现代数据堆栈是一套技术和应用程序,专门用于将数据汇集到组织中,将其转换为可操作的数据,制定针对该数据采取行动的计划,然后实施该计划。

大多数现代数据堆栈都建立在基于云的服务之上,这些服务由低代码和无代码工具组成,使组织内的各种团队能够探索和使用他们的数据。

继续阅读以了解如何优化您的数据堆栈,并观看来自 Airbnb、Autodesk、Capital One、Meta、T-Mobile、Uber 和其他领先数据驱动公司的行业专家讨论征服现代数据堆栈。

为什么现代数据堆栈在今天很重要

大数据堆栈技术现在几乎为每个组织提供了利用数据的能力,而无需大量的前期成本。传统上,投资数据需要大量时间和资源来构建、管理和维护必要的 IT 基础架构。如今,创建现代数据堆栈不会遇到这样的障碍,并且可以在不到一天的时间内完成。

当组织对其数据堆栈进行现代化改造时,员工的生产力和效率就会提高。因为他们可以分析大量原始数据并获得高度可行的见解,所以组织能够创造和最大限度地提高内部效率,消除运营瓶颈,加速决策制定并推动创新。简而言之,组织能够构建和集中统一的高价值数据资产,该资产易于访问并可用于在整个业务中推动价值。

五阶段构建过程

要构建现代数据堆栈,您需要关注每个阶段,并使用适合您的要求、目标和其他独特需求的工具来填充它。选择集成就绪的工具,因为这将简化您的工作流程。

现代数据堆栈是当今组织的重要组成部分,需要企业接受许多变化,包括采用新兴技术或改变运营模式。执行不力、未优化的云性能管理和其他战略失误可能代价高昂且存在风险。

然而,并非市场上所有的性能优化工具都具有企业级可见性并提供超出表面指标的可观察性。如果没有可见性,企业将面临为其数据堆栈过度配置资源并最终导致比预期更多的云成本的风险。

征服现代数据堆栈

他们说现在可以比几年前更快地从头开始构建数据堆栈。虽然这可能是真的,但处理现代数据堆栈并不是一件容易的事情。好消息是,您有机会向行业专业人士学习如何征服现代数据堆栈。

2022 年数据堆栈峰会包含有关现代数据堆栈各个方面的大量信息。查看它,向大数据技术专家学习,包括我们自己的 Pepperdata 董事会主席 Ash Munshi,以及来自 Airbnb、Autodesk、Capital One、Meta、T-Mobile、Uber 和其他领先公司的专家。

所有虚拟会议均按需提供,并探索数据堆栈技术和其他将震撼我们视野的创新的存储内容!

作者 east
云计算 5月 20,2023

在内部部署到云迁移过程中需要考虑的三个关键事项

许多公司正在应对从本地迁移到云的挑战。虽然这些公司意识到从本地数据基础设施的资本支出模型转变为云的运营支出模型的好处,但他们中的许多人未能充分考虑到这种转变。结果,他们最终超支或未优化性能。

这种漫不经心的前景可能会让您的公司在未来感到头疼。我们的建议:消除云迁移中的猜测。以下是您在上云过程中需要注意的三个方面:

在云迁移过程中,您需要决定的第一件事是什么应该保留在本地,什么要迁移到云端。

如果您是一家大型企业,您可能有一整套复杂的应用程序在各种数据中心运行。也许您对一个数据中心有长期租约,或者您的团队中有一些特定成员坚持要将某个应用程序或系统迁移到云端。无论如何,您应该知道哪些可以移动,哪些最好保留在本地。

一旦你决定,作为从本地到云迁移的基础,你可以进行提升和转移,或者你可以完全重写你的架构以使其成为云原生的(这需要很多工程工作)。您需要利用云供应商提供的某些服务。您甚至可能需要结合使用两者。

其次,您需要决定要使用您选择的云供应商提供的服务。云供应商提供大量服务,虽然很想从每一项服务中获益,但我们建议您只选择必要的服务。使用超出您需要的方式可能会成为维护支持的长期噩梦。

如果您在云迁移过程中不小心,您可能会在不知不觉中放弃在各种服务和提供商之间进行选择的自由。供应商锁定是指你被困在特定供应商的整个堆栈、服务和功能中,如果你不采取措施避免这种情况,很容易陷入困境。为了避免这种情况,您在选择云提供商或他们的服务时必须小心谨慎,因为它确实会限制您以后可以做的事情。通常,公司会选择多云方法来尝试避开这个陷阱。

定价和账单一旦出现,就会让人们在第一次进行本地到云迁移时感到最惊讶。这个问题有两个部分:(1) 现有应用程序的成本,以及 (2) CapEx 到 OpEx 的转变。

当涉及到现有应用程序的成本时,它们可能非常难以计算。很难,但并非不可能。关键是弄清楚您的本地应用程序当前使用什么——多少内存?中央处理器?数据传输量?这就是正确的监控应用程序真正增加价值并让您深入了解您今天运行的内容的地方。

关于 CapEx-OpEx 转变:以前,在 CapEx 模型中,只有组织某些部分的某些人知道成本的真实情况。但是现在,几乎公司内的每个人都可以在一个电子表格和账单中轻松地看到他们的钱去了哪里。

虽然 CapEx 模型由于限制了工程师的能力而让工程师感到沮丧,但它也是一个很好的成本限制器。在云迁移阶段完成后,在 OpEx 模型中,他们没有限制让您的工程师足智多谋,而是在没有限制的情况下开始和扩展。所以他们扩展到大量机器并运行他们能想到的所有测试。接下来你知道,单一灵活性的账单到了,而且是巨大的。

总而言之,请务必记住,OpEx 为您提供的灵活性是一把双刃剑。当您迁移到云端时,设置控制系统和可见性至关重要。

作者 east
Hive 5月 20,2023

Hive 查询示例:您需要了解的内容

如果您在 Hadoop 上使用 Hive,了解 Hive 查询并熟悉一两个 Hive 查询示例是实现有效集群管理的关键。 Hive 查询消耗时间和资源,因此必须通过 Hive 查询调优来提高效率。在本文中,您将了解什么是 Hive 查询、它们如何影响您的集群(正面和负面)、有用的 Hive 查询方法,以及一个好的 Hive 查询示例是什么样的。让我们开始吧。

Hive 查询是来自 Hadoop 数据库的特定信息请求。这些信息请求由 Apache Hive 执行,Apache Hive 是一个在 Hadoop 之上开发的开源数据仓库平台。 Facebook 在编写 Java MapReduce 平台方面创建了 Hive 来执行数据分析、分布式处理和减少工作。

Hive 查询使用一组预定义的代码,这些代码是您的数据库语言的本机代码。然后数据库接收指令,一旦它理解了该指令,就收集并发布所请求的信息。

Hive 是为提高效率而设计的,这就是为什么它的查询需要完美调整和编写良好的原因。您还可以设置依赖项以启用查询的自动计划。这将保证一旦一个动作完成,下一个动作立即开始。

与增加网络带宽相比,提高系统的 RAM 容量和 CPU 能力可以加快 Hive 响应时间。

调优不当的查询会给组织带来重大挫折。其中最大的是错过了 SLA(服务水平协议)。

这些协议表示企业及其客户同意的服务水平,包括性能保证、数据安全、正常运行时间和客户服务标准。因此,如果低效查询导致错过 SLA,结果可能是罚款、退款,或者在某些情况下终止合同。

调整不当的 Hive 查询也会消耗资源。这些会在两个方面影响您的 Hadoop 集群。一:调优不佳的查询会耗尽集群中其他用户或功能的资源。这会导致性能下降和响应时间变慢。二:使用的资源产生成本。由于 Hive 查询调优不佳而造成的资源浪费会增加您的 AWS 账单,让您非常头疼。

低效查询的其他一些影响可能会破坏集群性能、减慢数据库速度和停机时间。

由于低效查询会产生许多负面影响,因此优化查询至关重要。

有一些非常方便的 Hive 查询调优方法,具体取决于您是针对时间还是资源使用进行优化:

适当的 Hive 调整允许您操作尽可能少的数据。一种方法是通过分区,将“键”分配给数据被隔离的子目录。当您的查询需要信息时,您可以定位数据所在的特定子集,这样可以节省您扫描不需要的数据的时间。

分桶类似于分区,尽管它有助于通过扫描更少的数据来提高连接性能。

这有助于最大限度地减少遍历查询过程中各个步骤的数据量,以及在查询状态之间移动所需的时间。

在执行方面,利用执行引擎(如 Tez、Hive on Spark 和 LLAP)可以帮助提高查询性能,而无需低级调优方法。在不需要顺序操作时利用并行执行也是明智的。您的系统可以执行的并行度取决于可用资源和整体数据结构。

此外,它有助于在所有任务之间保持工作的均匀分布,以避免出现偏差。请记住:您的整体查询速度只能与最慢的任务一样快。

最后,当您查看测试时,采样(也称为单元测试)是最好的 Hive 查询调优技术之一。通过获取数据的一个子集并一次运行一千行查询,您可以更快地找到失败、奇怪的结果和错误。这有助于您微调查询以获得更高的准确性和效率。

每个查询还应该自动进行审查和性能测量。这确保他们在晋升到更高级别的环境之前满足最低要求。将不良查询排除在生产之外。

关注公众号“大模型全栈程序员”回复“大数据面试”获取800页左右大数据面试宝典 ,回复“大数据”获取多本大数据电子书

作者 east
chatgpt 5月 20,2023

解决New Bing跳转国内

New Bing为了不让中国大陆使用真是无所不用其极。

访问www.bing.com时总是重定向到cn.bing.com 。刚开始用Mod Header等插件, ,点击 FILTER,选择 Request URL filter  ,
填写下面三个内容(分别是:X-Forwarded-For、8.8.8.8、.*://www.bing.com/.*)并确保都勾选。

后来方法失效了,即使不让跳转,还是会重定向 cn.bing.com过多次导致访问失败。

又升级了方法,用美国vps,通过socket5来访问。用了一段时间之后,用这个美国vps访问,又 跳向国内。不知new bing是用什么算法判定:可能用这个ip的注册账号是中国地区,有时Edge Cookie没清干净,用new bing是使用中文,Edgi用这个ip时Edge语言是中文。

好在有备用美国vps ip,用socket5访问暂时没有跳转到国内。

作者 east
doris 5月 19,2023

doris批量导出表结构java版本实现

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DorisDump {

    private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    private static final String DB_URL = "jdbc:mysql://localhost:9030/database";
    private static final String USER = "user";
    private static final String PASSWORD = "password";

    public static void main(String[] args) throws SQLException, IOException {
        // Parse command line arguments
        Args args = new Args(args);

        // Connect to the database
        Connection connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);

        // Create a statement
        Statement statement = connection.createStatement();

        // Get the list of tables
        ResultSet tables = statement.executeQuery("show tables;");

        // Create a list to store the create table statements
        List<String> createTableStatements = new ArrayList<>();

        // Iterate over the tables
        while (tables.next()) {
            // Get the name of the table
            String tableName = tables.getString(1);

            // Get the create table statement for the table
            ResultSet createTableStatement = statement.executeQuery("show create table " + tableName + ";");

            // Add the create table statement to the list
            createTableStatements.add(createTableStatement.getString(1));
        }

        // Write the create table statements to a file
        File file = new File("table.txt");
        try (FileWriter fileWriter = new FileWriter(file)) {
            for (String createTableStatement : createTableStatements) {
                fileWriter.write(createTableStatement + "\n");
            }
        }

        // Close the connection
        connection.close();
    }

    private static class Args {

        private String host;
        private int port;
        private String user;
        private String password;
        private String database;

        public Args(String[] args) {
            for (int i = 0; i < args.length; i++) {
                if (args[i].equals("-h")) {
                    host = args[i + 1];
                } else if (args[i].equals("-P")) {
                    port = Integer.parseInt(args[i + 1]);
                } else if (args[i].equals("-u")) {
                    user = args[i + 1];
                } else if (args[i].equals("-p")) {
                    password = args[i + 1];
                } else if (args[i].equals("-d")) {
                    database = args[i + 1];
                }
            }
        }

        public String getHost() {
            return host;
        }

        public int getPort() {
            return port;
        }

        public String getUser() {
            return user;
        }

        public String getPassword() {
            return password;
        }

        public String getDatabase() {
            return database;
        }
    }
}

关注公众号“大模型全栈程序员”回复“大数据面试”获取800页左右大数据面试宝典 ,回复“大数据”获取多本大数据电子书

作者 east
Java 5月 19,2023

mysql导出某个库所有表名和表名的注释并保存在excel

import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

public class ExportMysqlSchema {

    public static void main(String[] args) throws Exception {
        // 连接mysql数据库
        String url = "jdbc:mysql://localhost:3306/test?user=root&password=root";
        Connection conn = DriverManager.getConnection(url);
        Statement stmt = conn.createStatement();

        // 获取某个库所有表名和表名的注释
        String sql = "SELECT TABLE_NAME, TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA='test'";
        ResultSet rs = stmt.executeQuery(sql);

        // 创建excel文件
        File file = new File("mysql_schema.xls");
        FileOutputStream fos = new FileOutputStream(file);

        // 创建excel工作簿
        Workbook workbook = new HSSFWorkbook();
        // 创建excel工作表
        Sheet sheet = workbook.createSheet("test");
        // 创建excel表头
        Row header = sheet.createRow(0);
        header.createCell(0).setCellValue("TABLE_NAME");
        header.createCell(1).setCellValue("TABLE_COMMENT");

        // 写入excel数据
        int index = 1; // 行索引
        while (rs.next()) {
            // 获取表名和表名的注释
            String tableName = rs.getString(1);
            String tableComment = rs.getString(2);
            // 创建excel行
            Row row = sheet.createRow(index++);
            // 写入excel单元格
            row.createCell(0).setCellValue(tableName);
            row.createCell(1).setCellValue(tableComment);
        }

        // 保存excel文件
        workbook.write(fos);

        // 关闭资源
        fos.close();
        workbook.close();
        rs.close();
        stmt.close();
        conn.close();
    }
}
作者 east
Kafka 5月 18,2023

2020 年精选:Kafka 优化:四个最佳实践

2020 年不会成为十年来最好的年份之一,但我们可以肯定地说,至少有一件好事发生了:Kafka 优化的四个最佳实践的总结。这篇博文最初发表于 5 月,并迅速成为我们读者的最爱。鉴于最佳实践至今仍然有效,我们想再次强调它们,以圆满结束这一年。阅读并享受它。

阿帕奇卡夫卡很棒。它允许创建易于扩展的实时、高吞吐量、低延迟数据流。优化的 Kafka 性能还带来其他好处,例如抵抗集群内发生的机器/节点故障以及集群上数据和消息的持久化。 Kafka 框架的性能优化应该是重中之重。

但优化是一项复杂的工作。优化您的 Apache Kafka 部署可能是一个挑战,因为分布式架构有很多层,并且可以在这些层内调整参数。

例如: 通常,具有自动数据冗余的高吞吐量发布-订阅 (pub/sub) 模式是一件好事。但是,当您的消费者努力跟上您的数据流,或者如果他们无法阅读消息,因为这些消息在消费者到达它们之前就消失了,那么就需要做一些工作来支持消费应用程序的性能需求。

Kafka 优化是一个广泛的主题,可以非常深入和精细,但这里有一些关键的最佳实践可以帮助您入门:

这听起来可能非常明显,但您会惊讶于有多少人使用旧版本的 Kafka。一个非常简单的 Kafka 优化举措是升级并使用最新版本的平台。您必须确定您的客户是否使用旧版本的 Kafka(0.10 或更早版本)。如果是,他们应该立即升级。

最新版本的 Kafka(版本 0.8x)附带 Apache ZooKeeper,主要用于协调消费者群体。使用过时版本的 Kafka 会导致重新平衡运行时间过长以及重新平衡算法失败。

优化 Apache Kafka 部署是优化平台堆栈层的练习。分区是吞吐量性能所基于的存储层。每个分区的数据速率是消息的平均大小乘以每秒消息数。简而言之,它是数据通过分区的速率。所需的吞吐率决定了分区的目标架构。

解决方案架构师希望每个分区都支持相似的数据量和吞吐率。实际上,数据速率会随着时间的推移而变化,生产者和消费者的原始数量也会随之变化。

可变性带来的性能挑战是消费者滞后的可能性,也就是消费者读取率落后于生产者写入率。随着 Kafka 环境的扩展,随机分区是一种有效的方法,可确保您不会在不必要地尝试将静态定义应用于移动性能目标时引入人为瓶颈。

分区领导通常是通过由 Zookeeper 维护的元数据进行简单选举的产物。然而,领导选举并没有考虑到各个分区的性能。根据您的 Kafka 发行版,可以利用专有的平衡器,但由于缺乏此类工具,随机分区提供了最不干涉的路径来平衡性能。

外卖?在写入主题时坚持随机分区,除非体系结构要求另有要求。

在较旧的 Kafka 版本中,参数 receive.buffer.bytes 默认设置为 64kB。在较新的 Kafka 版本中,参数为 socket.receive.buffer.bytes,默认为 100kB。

这对 Kafka 优化意味着什么?对于高吞吐量环境,这些默认值太小,因此不够用。当代理和消费者之间的网络带宽延迟乘积大于 LAN(局域网)时,情况就很明显了。

如果您的网络以 10 Gbps 或更高的速度运行并且延迟为 1 毫秒或更长,建议您将套接字缓冲区调整为 8 或 16 MB。如果内存有问题,请考虑 1 MB。

优化 Apache Kafka 部署是一项持续的工作,但这五个最佳实践应该是一个坚实的开始。上面提到的性能优化技巧只是用户可以实施以提高 Kafka 性能的一些优化方法。 Kafka 越来越受到应用程序开发人员、IT 专业人员和数据管理人员的欢迎。并且有充分的理由。查看我们的其他资源,其中详细讨论了 Kafka 应用于应用程序开发和数据管理的特定领域时的最佳实践。

已经在使用 Kafka 了吗?使用 Pepperdata Streaming Spotlight 监控和改进其性能。

回顾一下,我们建议您升级到最新版本的 Kafka。这是一件小事,但可以发挥重要作用。接下来,是确保您了解数据吞吐率。除非架构需求另有要求,否则我们建议您在写入主题时选择随机分区。如果你想实现高速摄取,调整消费者套接字缓冲区。我们希望您喜欢这篇 2020 年最佳博文,其中重点介绍了我们为 Kafka 优化推荐的最佳实践。

作者 east
云计算 5月 18,2023

云迁移挑战:迁移后

每个人要么已经迁移到云,要么正在迁移到云。云提供了节省成本以及可扩展性、可靠性和敏捷性的承诺。云迁移的一些挑战在迁移工作之前就已经出现了。但其他云迁移挑战出现在第二天,即成功完成迁移后的关键阶段。

组织希望在促进业务增长的同时降低成本。当成本降低时,资金和其他资源就会被释放出来,使组织能够将它们用于其他优先事项,这些优先事项可以增加利润并在满足时推动进一步增长。迁移到云为企业提供了同时享受成本节约和业务增长的机会。

但组织也希望在迁移到云完成后做出数据驱动的决策。他们希望在企业的每个部分创建数据驱动的环境。几项调查一次又一次地揭示了这种情况。成为真正的数据驱动意味着采用新技术、新方法、新分析和新工具。这就是 IT 团队利用基于云的数据库、数据湖环境等的原因。

事情是这样的:数据驱动的工具对于云迁移挑战和任何其他类型的业务挑战一样有用。

云迁移之旅不是一个单一的事件。它实际上更像是一个迭代和增量过程。企业有时会像迁移一次一样处理云迁移。但从某种意义上说,它一直在发生。迁移完成后出现的云迁移挑战需要继续消除。

通常,在成功迁移之后,企业会对管理云基础设施和云流程所付出的努力感到震惊。更不用说,他们不切实际的投资回报率预期没有得到满足。当被问及他们期望何时获得云迁移投资回报时,几乎三分之二的人在几个月内回答,如果不是几周或几天的话。

但是,它通常需要比这更长的时间。云迁移的投资回报率可能较慢,并且需要持续努力。设定企业级期望可能很棘手,但企业需要保持期望切合实际。他们需要接受,在几个周期之后,你才能真正掌握在云中的窍门。只有这样,您才能真正开始收获收益。

这是第 2 天云迁移的另一个重大挑战。成本通常是企业希望首先进入云的主要原因。然而,一旦企业进入云计算,他们就会发现管理云支出是一个主要问题。从 IT 的角度来看,这是一个挑战。他们如何在不限制业务需求的情况下限制使用?

许多企业最终都遭遇了账单冲击,因为他们没有预料到云成本会如此之高。他们发现自己超出了云预算。

在不妨碍对云资源的访问的情况下控制云支出的一项有效措施(尽管存在争议)是实施扣款政策。这是对部门在特定时间段内消耗的技术和资源收费的时间。

这是非常有效的,因为部门要对他们使用云服务负责。此举还让 IT 管理员了解如何利用云资源。然而,这是有争议的,因为大多数业务部门不为使用公司资源和公用事业计费。

当人们第一次听说云的优势时,他们认为整合数据和逐步淘汰硬件在支出方面都是有利的。但实际上,迁移之后,成本通常会攀升。你可能有效率,但享受这些效率需要资源。资源就是金钱。因此,您组织中的人们陷入了战争与和平的局面,争论如何管理成本。谁得到它?谁没有?谁可以消费它?哪些产品、工作和项目可以优先使用其中的一些资源?

组织需要做的是在环境中使用不同的工具、优化工作和产品,以通过可见性和洞察力匹配并帮助降低这些成本。

一旦进入云端,组织就可以采用数百种工具、服务数据库和其他东西。数据平台内的产品前景广阔。第二天,企业需要立即分配资源和专业知识,以确定如何在新技术环境中最好地装备自己。他们需要弄清楚如何控制浪费。

在云中运行业务流程的另一个复杂方面是云支出的浪费。闲置或未使用的资源、超大的基础设施和资源集中等因素会导致云浪费。

仅在 2019 年,云浪费造成的损失就达 141 亿美元。为了防止这些损失,组织必须准确估计他们的资源需求并增加额外的容量,而不是批量购买资源。主动监控或关闭未使用的云环境也有助于减少浪费。利用 AI 支持的云优化工具非常适合维护多个环境的用户。随着工作负载的波动,这些工具将自动扩展其云基础设施。

转移到云端需要大量的改变。事实上,抵制这种变化的组织将经历一系列不同的新的和意想不到的挑战。您可以将这些更改强加于您,也可以接受它们。无论哪种方式,在云中操作都意味着您无论如何都必须进行更改。云计算空间正在不断发展。你越是意识到这一点并接受这些变化,从长远来看,你的组织就会越好。

Rackspace Hosting 2013 年的一项研究反映了这一思路。在 1,300 名企业受访者中,有 88% 的人表示迁移到云为他们节省了资金,而 56% 的人确认这增加了他们的利润。有了正确的战略和正确的工具,迁移到云可能是任何企业都经历过的最好的事情。他们需要做的就是在第 2 天的云迁移挑战中生存下来,并弄清楚如何从“迁移”过渡到“运营”,同时应对两者之间的颠簸和阶段。

作者 east
Hive 5月 18,2023

修复hive重命名分区后新分区为0的问题

hive分区重命名后,新的分区的分区大小为0 ,
例如

alter table entersv.ods_t_test partition(dt='2022-11-08') rename to partition(dt='2022-11-21')

ods_t_test 的2022-11-21分区大小为0。怎样修复

  • 使用 msck repair table 命令来修复表的元数据,让hive重新扫描分区目录并更新分区信息2。
  • 使用 analyze table 命令来重新计算分区的统计信息,包括分区大小,行数等3。

下面的示例代码:

-- 修复表的元数据
msck repair table entersv.ods_t_test;
-- 重新计算分区的统计信息
analyze table entersv.ods_t_test partition(dt) compute statistics;
作者 east

上一 1 … 37 38 39 … 93 下一个

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。回复”chatgpt”获取免注册可用chatgpt。回复“大数据”获取多本大数据电子书

标签

AIGC AI创作 bert chatgpt github GPT-3 gpt3 GTP-3 hive mysql O2O tensorflow UI控件 不含后台 交流 共享经济 出行 图像 地图定位 外卖 多媒体 娱乐 小程序 布局 带后台完整项目 开源项目 搜索 支付 效率 教育 日历 机器学习 深度学习 物流 用户系统 电商 画图 画布(canvas) 社交 签到 联网 读书 资讯 阅读 预订

官方QQ群

小程序开发群:74052405

大数据开发群: 952493060

近期文章

  • 解决gitlab配置Webhooks,提示 Invalid url given的问题
  • 如何在Chrome中设置启动时自动打开多个默认网页
  • spark内存溢出怎样区分是软件还是代码原因
  • MQTT完全解析和实践
  • 解决运行Selenium报错:self.driver = webdriver.Chrome(service=service) TypeError: __init__() got an unexpected keyword argument ‘service’
  • python 3.6使用mysql-connector-python报错:SyntaxError: future feature annotations is not defined
  • 详解Python当中的pip常用命令
  • AUTOSAR如何在多个供应商交付的配置中避免ARXML不兼容?
  • C++thread pool(线程池)设计应关注哪些扩展性问题?
  • 各类MCAL(Microcontroller Abstraction Layer)如何与AUTOSAR工具链解耦?

文章归档

  • 2025年10月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年1月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年7月
  • 2018年6月

分类目录

  • Android (73)
  • bug清单 (79)
  • C++ (34)
  • Fuchsia (15)
  • php (4)
  • python (45)
  • sklearn (1)
  • 云计算 (20)
  • 人工智能 (61)
    • chatgpt (21)
      • 提示词 (6)
    • Keras (1)
    • Tensorflow (3)
    • 大模型 (1)
    • 智能体 (4)
    • 深度学习 (14)
  • 储能 (44)
  • 前端 (5)
  • 大数据开发 (494)
    • CDH (6)
    • datax (4)
    • doris (31)
    • Elasticsearch (15)
    • Flink (79)
    • flume (7)
    • Hadoop (19)
    • Hbase (23)
    • Hive (41)
    • Impala (2)
    • Java (71)
    • Kafka (10)
    • neo4j (5)
    • shardingsphere (6)
    • solr (5)
    • Spark (100)
    • spring (11)
    • 数据仓库 (9)
    • 数据挖掘 (7)
    • 海豚调度器 (10)
    • 运维 (36)
      • Docker (3)
  • 小游戏代码 (1)
  • 小程序代码 (139)
    • O2O (16)
    • UI控件 (5)
    • 互联网类 (23)
    • 企业类 (6)
    • 地图定位 (9)
    • 多媒体 (6)
    • 工具类 (25)
    • 电商类 (22)
    • 社交 (7)
    • 行业软件 (7)
    • 资讯读书 (11)
  • 嵌入式 (71)
    • autosar (63)
    • RTOS (1)
    • 总线 (1)
  • 开发博客 (16)
    • Harmony (9)
  • 技术架构 (6)
  • 数据库 (32)
    • mongodb (1)
    • mysql (13)
    • pgsql (2)
    • redis (1)
    • tdengine (4)
  • 未分类 (8)
  • 程序员网赚 (20)
    • 广告联盟 (3)
    • 私域流量 (5)
    • 自媒体 (5)
  • 量化投资 (4)
  • 面试 (14)

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

All Rights Reserved by Gitweixin.本站收集网友上传代码, 如有侵犯版权,请发邮件联系yiyuyos@gmail.com删除.