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

年度归档2023

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

  • 首页   /  
  • 2023
  • ( 页面14 )
Spark 4月 23,2023

运行spark的任务报下面的错误”org.apache.spark.memory.SparkOutOfMemoryError: Unable to acquire 65536 bytes of memory, got 0″,

这个错误表明Spark没有足够的内存来执行任务。可以试着通过以下方式修复:

  1. 增加可用内存。可以增加集群的内存或者减少任务的内存需求。
  2. 调整Spark的内存配置。可以调整Spark的内存配置,如executor的内存大小和driver的内存大小。
  3. 减少数据量。如果处理的数据量很大,可以考虑分批处理或者采用其他的数据处理方式。
  4. 使用内存优化技术。可以使用缓存、序列化等技术来优化内存使用。
  5. 调整GC策略。可以考虑采用更适合应用场景的GC策略。
作者 east
人工智能 4月 23,2023

如何监管你的人工智能

尽管在过去几十年中人工智能领域取得了显着进步,但该技术一次又一次地未能兑现其承诺。人工智能驱动的自然语言处理器可以编写从新闻文章到小说的所有内容,但并非没有种族主义和歧视性语言。自动驾驶汽车可以在没有驾驶员输入的情况下导航,但不能消除愚蠢事故的风险。 AI 有个性化的在线广告,但时不时会严重错过上下文。
我们不能相信人工智能每次都能做出正确的决定。这并不意味着我们需要停止开发和部署下一代人工智能技术。相反,我们需要通过让人类主动过滤和验证数据集、维护决策制定控制或添加稍后将自动应用的指南来建立护栏。
智能系统根据输入复杂算法的数据做出决策,该算法用于创建和训练 AI 模型以解释数据。这使它能够自主“学习”和做出决策,并使其有别于仅在其创建者提供的程序上运行的工程系统。
但并非所有看似“智能”的系统都使用人工智能。许多是智能工程的例子,用于通过显式编程或让人类在机器人记录时执行动作来训练机器人。没有决策过程。相反,它是在高度结构化的环境中工作的自动化技术。
AI 对这个用例的承诺是使机器人能够在更加非结构化的环境中运行,真正从已经展示的示例中抽象出来。机器学习和深度学习技术使机器人能够在一次穿过仓库的行程中识别、拾取和运输一托盘罐头食品,然后对电视进行同样的操作,而不需要人类更新其程序来解决不同的问题。产品或位置。
构建任何智能系统的固有挑战在于,其决策能力仅与用于开发的数据集以及用于训练其 AI 模型的方法一样好。
没有 100% 完整、无偏见和准确的数据集。这使得创建本身没有潜在错误和偏见的 AI 模型变得极其困难。
考虑一下新的大型语言模型 (LLM) Facebook 及其母公司 Meta,最近向任何研究自然语言处理 (NLP) 应用程序的研究人员开放,例如智能手机和其他连接设备上支持语音的虚拟助手。该公司研究人员的一份报告警告称,新系统 OPT-175B“极有可能产生有毒语言并强化有害的刻板印象,即使是在提供相对无害的提示时也是如此,而对抗性提示是微不足道的。”
研究人员怀疑,人工智能模型是根据包括从社交媒体对话中获取的未经过滤的文本的数据进行训练的,无法识别它何时“决定”使用该数据来生成仇恨言论或种族主义语言。我完全赞扬 Meta 团队对他们的挑战持开放和透明的态度,并将该模型免费提供给希望帮助解决困扰所有 NLP 应用程序的偏见问题的研究人员。但这进一步证明,人工智能系统还不够成熟,也不够强大,无法独立于人类决策过程和干预而运作。
那么,如果我们不能信任人工智能,我们如何在降低风险的同时培育它的发展呢?通过采用三种实用方法中的一种(或多种)来解决问题。
一种方法是应用特定领域的数据过滤器,以防止不相关和不正确的数据在训练时到达人工智能模型。假设一家汽车制造商正在制造一辆配备四缸发动机的小型汽车,希望整合一个神经网络来检测发动机传感器和执行器的软故障。该公司可能拥有涵盖其所有车型的综合数据集,从紧凑型汽车到大型卡车和 SUV。但它应该过滤掉不相关的数据,以确保它不会使用特定于八缸卡车的数据来训练其四缸汽车的 AI 模型。
我们还可以建立过滤器,通过确认每个决定都会产生好的结果来保护世界免受错误的 AI 决定的影响,如果没有,则阻止它采取行动。这需要特定领域的检查触发器,以确保我们相信 AI 会做出某些决定并在预定义的参数范围内采取行动,而任何其他决定都需要“健全性检查”。
输出滤波器在自动驾驶汽车中建立安全运行速度范围,告诉 AI 模型,“我只允许你在这个安全范围内进行调整。如果您超出了该范围,并且决定将发动机转速降至 100 rpm 以下,则必须先咨询人类专家。”
开发人员将现有 AI 模型重新用于新应用程序的情况并不少见。这允许通过并行运行基于先前系统的专家模型来创建第三个护栏。主管将新系统的决策与以前系统的决策进行核对,并尝试确定出现任何差异的原因。
例如,一辆新车的自动驾驶系统在沿高速公路行驶时错误地从 55 mph 减速到 20 mph。假设以前的系统在相同情况下保持 55 mph 的速度。在这种情况下,主管稍后可以查看提供给两个系统的 AI 模型的训练数据,以确定差异的原因。但就在做决定的时候,我们可能想建议这种减速,而不是自动做出改变。
将控制 AI 的需求想象成类似于在孩子学习新事物(例如如何骑自行车)时需要照看他们。成年人作为护栏在旁边奔跑,帮助新骑手保持平衡并为他们提供做出明智决定所需的信息,例如何时踩刹车或让行人。
总而言之,开发人员有三种选择可以在生产过程中保持 AI 的正常运行:
但是,如果开发人员忘记仔细挑选数据和学习方法并为他们的 AI 模型建立可靠且可重复的生产流程,那么这些选项都将不起作用。最重要的是,开发人员需要意识到没有法律要求他们围绕 AI 构建新的应用程序或产品。
确保使用大量的自然智能,并问问自己,“AI 真的有必要吗?”智能工程和经典技术可能会提供更好、更清洁、更强大和更透明的解决方案。在某些情况下,最好完全避免人工智能。

作者 east
doris 4月 19,2023

免费可源可商用的BI工具对比(支持Doris 数据库)

目前市面上有很多开源的 BI 工具可供选择,以下是几个免费、开源且可以商用的 BI 工具,并且支持和 Doris 数据库结合使用:

  1. Superset:由 Airbnb 发起的开源 BI 工具,带有可视化和交互式仪表盘功能。Superset 支持多种数据源,其中包括 Doris 数据库。
  2. Metabase:一个简单易用的 BI 工具,支持数据可视化和 SQL 查询。Metabase 支持多种数据库,包括 Doris 数据库。
  3. Redash:一个开源的数据查询和可视化工具,支持多种数据源,包括 Doris 数据库。

这些工具都支持多种数据源,包括 Doris 数据库,并提供了直观的查询和可视化界面,可以帮助分析师更好地理解和分析数据。

下面是 Datart 和上述三种开源 BI 工具的优缺点对比:

  1. Datart:Datart 是一个功能强大、易于使用的商业智能工具,可以满足复杂的数据分析需求。Datart 支持多种数据源,包括 Doris 数据库,并提供了数据清洗、数据可视化、数据建模等多种功能,可以帮助分析师更好的理解和分析数据。然而,由于 Datart 是商业软件,其使用和技术支持可能需要一定的成本投入。
  2. Superset:Superset 是一个由 Airbnb 发起的开源 BI 工具,带有可视化和交互式仪表盘功能。Superset 使用简便,具有良好的报表和图表设计能力,并支持多种数据源,包括 Doris 数据库。但是相对于 Datart,Superset 的数据建模和数据处理能力相对较弱。
  3. Metabase:Metabase 是一个简单易用的开源 BI 工具,具有良好的可视化和查询功能,并支持多种数据源,包括 Doris 数据库。然而与 Datart 相比,Metabase 的数据处理和数据建模能力相对较弱。
  4. Redash:Redash 是一个开源的数据查询和可视化工具,支持多种数据源,包括 Doris 数据库。Redash 方便易用,具有良好的查询和可视化功能,但是相对于 Datart,其扩展性和定制化能力相对较弱。

总的来说,选择适合自己的 BI 工具需要综合考虑多方面因素,包括数据规模、数据处理复杂度、报表需求、用户人数等。商业 BI 工具通常具有更强大的功能和更好的技术支持,但需要投入一定的成本。同时,开源 BI 工具虽然使用简单,但其扩展能力和个性化定制能力相对较差。

作者 east
大数据开发 4月 18,2023

Starburst Galaxy 获得数据可发现性更新

分析软件提供商 Startburst 周二表示,它正在为 Startburst Galaxy 添加数据可发现性功能,Startburst Galaxy 是一项托管的 Trino SQL 查询引擎服务。
Trino,前身为 Presto SQL,是一种用于大数据的开源分布式 SQL 查询引擎,允许用户在单个查询中查询来自多个数据源(包括 NoSQL 数据库)的数据。
该公司表示,这些更新是在 AWS re:Invent 2022 上宣布的,将帮助企业简化传统的提取、转换、加载 (ETL) 流程来管理数据产品,从而加速数据查询、访问和分析。
通过 Starburst Galaxy 作为托管服务提供,这些新的可发现性功能正在解决与数据湖变成数据沼泽相关的挑战——杂乱无章的数据杂乱无章,这对可访问性和利用数据获得可操作见解的能力提出了重大挑战。
新功能旨在将发现时间从几小时缩短到几秒,并为自助服务数据产品管理奠定基础,无论技术专长如何。
物联网设备的激增一直是全球企业面临的杂乱无章的数据问题的重要贡献者。据 IDC 称,到 2025 年,预计将有 557 亿台联网的物联网设备,产生近 80 兆字节的数据(相当于十亿太字节或万亿千兆字节)。
Starburst 董事长兼首席执行官 Justin Borgman 在一份新闻稿中表示:“Starburst Galaxy 使组织能够更有效地发现正确的数据集,有助于降低成本,同时从数据中获得更多价值。”
该公司期望这些新功能将帮助企业创建自助服务数据产品,包括数据发现、模式发现和精细访问控制。
顾名思义,数据发现功能有助于找到所需的数据集及其位置。该公司表示,该功能使元数据能够自动填充查询历史和上下文,从而提供有关数据使用方式的关键见解。
另一方面,模式发现旨在消除 ETL 过程中的“转换”方面。 Starburst 表示,该功能将使企业能够发现跨来源的现有数据集以及新数据集,而不管它们位于何处。
该公司补充说,这意味着加载数据的数据工程师不需要事先考虑模式。
Starburst 说,新的粒度访问控制 (GAC) 功能旨在使企业数据管理员能够查看和了解谁有权访问哪些数据以及如何使用这些数据,并补充说这允许管理员通过策略即代码更改权限确保持续部署管道中的安全性和风险降低。
Starburst Galaxy 目前可通过各种定价计划在 AWS、Microsoft Azure 和 GCP 上使用。
Starburst Galaxy 的更新是在公司将数据产品添加到其企业数据和分析平台(称为 Starburst Enterprise)后的一年内进行的。 9 月,该公司向该平台添加了新功能以简化跨云分析。
在 re:Invent 2022 上,该公司还宣布支持通过 Starburst Enterprise 为 AWS Lake Formation 实施数据网格架构,这是一项创建数据湖的服务。
数据网格概念包含异构分布式数据的分散管理和治理。数据网格架构的目标是允许管理和分析数据,无论数据位于何处——本地、公共云或多云环境,或者 SQL 或 NoSQL 数据库。
该公司表示,作为支持的一部分,Starburst 将帮助其与 AWS 的联合客户实施数据网格的技术方面,并补充说这将帮助企业从混合部署中获得最大价值。

作者 east
doris 4月 18,2023

doris上面的集群如何读取CDH6.3.2上面hive存储数据

使用Doris的HDFS插件特性,实现将CDH上Hive的离线计算数据同步到Doris的数仓中,具体步骤如下:

  • 安装Doris HDFS插件

在Doris的所有节点上安装HDFS插件,步骤如下:

$ cd doris-<version>/bin
$ ./hadoop_deploy_tool.sh -s /opt/cloudera/parcels/CDH

其中,<version>是Doris的版本号,/opt/cloudera/parcels/CDH是您CDH集群安装的路径,如果与该路径不同,则需要修改为您的路径。

  • 配置HDFS插件参数

打开Doris的配置文件doris_fe.conf,设置以下参数:

# hdfs config
hdfs_read_strategy = "distributed"
hdfs_cluster.default_fs = "hdfs://<NameNode-IP>:8020"
hdfs_cluster.list = "default"
hdfs_cluster.default_root_path = "/user/hive/warehouse"

其中,<NameNode-IP>是您CDH集群上的NameNode节点IP,后面的路径/user/hive/warehouse是Hive离线计算的数据存储路径,该路径中应包含您需要同步的所有数据。

  • 创建Doris的表并导入数据
LOAD LABEL my_label
(
    [column_name data_type [(length)] [column_attribute], ...]
)
FROM "hdfs://<NameNode-IP>:8020/user/hive/warehouse/<database_name>.db/<table_name>" 
WITH    (
        seperator='\u0001', 
        row_delimiter='\n', 
        null_string='NULL', 
        cols_charset='UTF8'
        );

根据您的业务需求,在Doris中创建相应的表,然后使用Doris的LOAD语句将数据从Hive中导入到Doris的表中,示例语句:

其中,<NameNode-IP>是您CDH集群上的NameNode节点IP,<database_name>是Hive数据库名称,<table_name>是您需要同步的数据表名称。

最后,执行上述LOAD语句即可实现将CDH上Hive的离线计算数据同步到Doris的数仓中,供运营分析和数据科学家们使用。

作者 east
bug清单, 大数据开发 4月 17,2023

CDH一个节点故障影响namenode启动

CDH某个节点磁盘故障,导致上面的角色都有问题。启动namenode时失败,日志报下面错误:

Error: recoverUnfinalizedSegments failed for required journal (JournalAndStream(mgr=QJM to [10.0.20.102:8485, 10.0.20.103:8485, 10.0.20.104:8485], stream=null))
java.io.IOException: Timed out waiting 120000ms for a quorum of nodes to respond.
at org.apache.hadoop.hdfs.qjournal.client.AsyncLoggerSet.waitForWriteQuorum(AsyncLoggerSet.java:137)
at org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager.createNewUniqueEpoch(QuorumJournalManager.java:197)
at org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager.recoverUnfinalizedSegments(QuorumJournalManager.java:436)
at org.apache.hadoop.hdfs.server.namenode.JournalSet6.apply(JournalSet.java:616) at org.apache.hadoop.hdfs.server.namenode.JournalSet.mapJournalsAndReportErrors(JournalSet.java:385) at org.apache.hadoop.hdfs.server.namenode.JournalSet.recoverUnfinalizedSegments(JournalSet.java:613) at org.apache.hadoop.hdfs.server.namenode.FSEditLog.recoverUnclosedStreams(FSEditLog.java:1603) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startActiveServices(FSNamesystem.java:1210) at org.apache.hadoop.hdfs.server.namenode.NameNode6.apply(JournalSet.java:616)atorg.apache.hadoop.hdfs.server.namenode.JournalSet.mapJournalsAndReportErrors(JournalSet.java:385)atorg.apache.hadoop.hdfs.server.namenode.JournalSet.recoverUnfinalizedSegments(JournalSet.java:613)atorg.apache.hadoop.hdfs.server.namenode.FSEditLog.recoverUnclosedStreams(FSEditLog.java:1603)atorg.apache.hadoop.hdfs.server.namenode.FSNamesystem.startActiveServices(FSNamesystem.java:1210)atorg.apache.hadoop.hdfs.server.namenode.NameNodeNameNodeHAContext.startActiveServices(NameNode.java:1898)
at org.apache.hadoop.hdfs.server.namenode.ha.ActiveState.enterState(ActiveState.java:61)
at org.apache.hadoop.hdfs.server.namenode.ha.HAState.setStateInternal(HAState.java:64)
at org.apache.hadoop.hdfs.server.namenode.ha.StandbyState.setState(StandbyState.java:49)
at org.apache.hadoop.hdfs.server.namenode.NameNode.transitionToActive(NameNode.java:1756)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.transitionToActive(NameNodeRpcServer.java:1700)
at org.apache.hadoop.ha.protocolPB.HAServiceProtocolServerSideTranslatorPB.transitionToActive(HAServiceProtocolServerSideTranslatorPB.java:107)
at org.apache.hadoop.ha.proto.HAServiceProtocolProtosHAServiceProtocolServiceHAServiceProtocolService2.callBlockingMethod(HAServiceProtocolProtos.java:4460)
at org.apache.hadoop.ipc.ProtobufRpcEngineServerServerProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)
at org.apache.hadoop.ipc.RPCServer.call(RPC.java:991) at org.apache.hadoop.ipc.ServerServer.call(RPC.java:991)atorg.apache.hadoop.ipc.ServerRpcCall.run(Server.java:869)
at org.apache.hadoop.ipc.ServerRpcCall.run(Server.java:815) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875) at org.apache.hadoop.ipc.ServerRpcCall.run(Server.java:815)atjava.security.AccessController.doPrivileged(NativeMethod)atjavax.security.auth.Subject.doAs(Subject.java:422)atorg.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875)atorg.apache.hadoop.ipc.ServerHandler.run(Server.java:2675)

CDH重新启动namenode时报错,错误信息为:Error: recoverUnfinalizedSegments failed for required journal (JournalAndStream(mgr=QJM to [10.0.20.102:8485, 10.0.20.103:8485, 10.0.20.104:8485], stream=null)),而且提示等待120秒超时,无法响应。这与Hadoop分布式协议不一致有关,可能由于某个节点的欠缺或故障造成了段错误。建议检查所有节点的网络连接是否正常、端口是否打开,以及检查journal节点的状态。同时也需要检查在这个问题出现之前是否已经存在其他问题。如果仍然无法解决问题,建议向CDH官方技术支持组寻求帮助。

作者 east
云计算 4月 13,2023

AWS Glue 升级 Spark 引擎,支持 Ray 框架

AWS Glue 是 Amazon Web Services 提供的无服务器数据集成服务,在本周推出的 4.0 版本中展示了 Python 和 Apache Spark 的功能。
升级为 Python 3.10 和 Apache Spark 3.3.0 添加了引擎。这两个引擎都包括性能增强和错误修复,Spark 提供行级运行时过滤和改进的错误消息等功能。
Glue 4.0 中的新引擎插件支持 Ray 计算框架、适用于 Spark 的 Cloud Shuffle 服务和自适应查询执行。还支持基于 Python 构建的 Pandas 数据分析和操作工具。新的数据格式支持涵盖 Apache Hudi、Apache Iceberg 和 Delta Lake。 Glue 4.0 还包括 Parquet 矢量化阅读器,支持额外的编码和数据类型。
AWS Glue 提供数据发现、数据准备、数据转换和数据集成功能,并根据工作负载大小进行自动扩展。 AWS 表示,Glue 现在还为客户提供视觉转换,以便在团队之间使用和共享特定于业务的 ETL 逻辑。
AWS 宣布推出 AWS Glue for Ray 预览版作为新的引擎选项。数据工程师可以使用 AWS Glue for Ray 通过 Python 和流行的 Python 库处理大型数据集。 Python 代码的分布式处理是在多节点集群上完成的。
Glue 4.0 现已在美国的多个 AWS 区域推出,包括俄亥俄州、北弗吉尼亚州和北加利福尼亚州。

作者 east
python 4月 10,2023

python怎样安装tls_client

“tls_client”是Python的第三方库,可以使用pip命令来安装。请按照以下步骤进行操作:

  • 打开终端或命令提示符。
  • 输入以下命令来升级pip工具:
pip install --upgrade pip 
  • 输入以下命令来安装tls_client:
pip install tls_client 
  • 等待一段时间,直到安装完成。
  • 完成安装后,您可以在Python代码中导入tls_client模块并开始使用它:
import tls_client 

请注意,如果您使用的是conda环境,则需要在conda环境中使用pip命令来安装tls_client。如果你遇到了任何问题,请检查您的Python版本和包管理器的设置,并确保您已连接到互联网。

作者 east
云计算 4月 9,2023

Databricks 添加了数据治理和市场功能

除了在年度数据 + AI 峰会上开源 Delta Lake 外,数据湖库提供商 Databricks 周二还推出了一个新的数据市场以及新的数据工程功能。
该公司表示,新市场将在未来几个月推出,它将允许企业共享数据和分析资产,如表格、文件、机器学习模型、笔记本和仪表板,并补充说数据不必移动或出于共享目的从云存储中复制。
据该公司称,该市场将加速数据工程和应用程序开发,因为它允许企业访问数据集而不是开发数据集,并且还可以订阅仪表板进行分析而不是创建新的仪表板。
Databricks 表示,该市场将使共享数据资产的企业更容易将其货币化。
分析师表示,新市场在设计和战略上类似于 Snowflake 的数据市场。
“每个主要的企业平台(包括 Snowflake)都需要有一个可行的应用程序生态系统才能真正成为一个平台,Databricks 也不例外。它正在寻求成为数据资产的中心市场,应该被视为 ISV 和应用程序的直接机会寻求在 Delta Lake 之上建设的开发商,”Amalgam Insights 首席分析师 Hyoun Park 说。
Constellation Research 首席分析师 Doug Henschen 将 Databricks 的市场与 Snowflake 的市场进行比较,他表示,Databricks 数据市场目前的形式非常新,只解决内部和外部的数据共享问题,不像 Snowflake 添加了集成和支持数据货币化。
为了以安全的方式促进与其他企业的数据协作,该公司表示,它正在引入一种名为 Cleanrooms 的环境,该环境将在未来几个月内推出。
数据洁净室是一个安全的环境,允许企业匿名化、处理和存储个人身份信息,以便以后以不违反隐私法规的方式进行数据转换。
Databricks 的 Cleanrooms 将提供一种无需复制即可跨企业共享和加入数据的方法,该公司表示,并补充说,这些企业将能够与任何云上的客户和合作伙伴协作,并灵活地运行复杂的计算和工作负载SQL 和数据科学工具,包括 Python、R 和 Scala。
遵守隐私规范的承诺是一个有趣的提议,Park 说,并补充说其试金石将是它在具有严格监管准则的金融服务、政府、法律和医疗保健部门的采用。
Databricks 还推出了数项数据工程工具补充。
据该公司称,其中一种新工具 Enzyme 是一个新的优化层,用于加速 Delta Live Tables 中的提取、转换、加载 (ETL) 过程,该公司已于今年 4 月全面推出。
Ventana Research 研究总监 Matt Aslett 表示:“优化层专注于通过结合查询计划和数据变更需求分析,使用 Delta Live Tables 支持自动化增量数据集成管道。”
根据 Henschen 的说法,这一层有望“检查另一组客户期望的功能,这将使其作为传统数据仓库和数据集市平台的替代品更具竞争力。”
Databricks 还在其 Delta Lake 平台上宣布了下一代 Spark Structured Streaming,称为 Project Lightspeed,它声称将通过使用扩展的连接器生态系统来降低成本和延迟。
Databricks 将 Delta Lake 称为数据湖屋,建立在提供存储和分析功能的数据架构之上,这与以本机格式存储数据的数据湖和存储结构化数据(通常以 SQL 格式)的数据仓库形成鲜明对比快速查询。
“流数据是 Databricks 有别于其他一些数据湖屋提供商的一个领域,并且随着基于流数据和事件的实时应用程序变得更加主流而受到更多关注,”Aslett 说。
根据 Park 的说法,Spark 的第二次迭代表明 Databricks 对支持用于分析和机器学习的较小数据源越来越感兴趣。
“机器学习不再只是海量大数据的工具,而是实时和分布式数据的有价值的反馈和警报机制,”分析师说。
此外,为了帮助企业进行数据治理,该公司还推出了Data Lineage for Unity Catalog,未来几周内将在AWS和Azure上普遍可用。
“Unity Catalog 的普遍可用性将有助于改善 Lakehouse 资产的安全性和治理方面,例如文件、表格和 ML 模型。这对于保护敏感数据至关重要,”前大数据和分析研究副总裁 Sanjeev Mohan 说在 Gartner。
该公司还发布了 Databricks SQL Serverless(在 AWS 上)以提供完全托管的服务来维护、配置和扩展 lakehouse 上的云基础设施。
其他一些更新包括 Databricks SQL 的查询联合功能和 SQL CLI 的新功能,所有用户都可以直接从其本地计算机运行查询。
该公司表示,联合功能允许开发人员和数据科学家查询远程数据源,包括 PostgreSQL、MySQL、AWS Redshift 等,而无需先从源系统提取和加载数据。

作者 east
云计算 4月 8,2023

使用适用于 Cassandra 的 Azure 托管实例

大规模构建云原生应用程序需要谨慎选择堆栈。一个流行的工具是 Apache 的 Cassandra 项目,这是一个 NoSQL 数据库,旨在快速扩展而不影响应用程序性能。它是处理大数据的理想平台,内置基于 Hadoop 的 map-reduce 工具,以及它自己的查询语言。它最初由 Facebook 开发,后来被用于 CERN、Netflix 和 Uber。
Azure 最初通过 Azure Marketplace 中的 DataStax 产品提供 Cassandra 支持,然后将 Cassandra API 支持添加到其自己的分布式 Cosmos DB,并为希望在 Azure VM 上构建和部署自己的 Cassandra 系统的用户提供指导。它现在正在开发自己的 Cassandra 实现,公开预览一组 Cassandra 托管实例,旨在与 Cosmos DB 一起工作。
Cassandra 是一个分布式数据库,每个节点通过八卦协议相互连接。节点在多台机器上运行,组织为数据中心并部署为节点环。所有节点都是对等节点,因此如果任何一个节点丢失,系统可以在替换开始时继续运行。环也可以与其他环对等,允许您让本地系统与云托管系统一起工作,或者一个区域与其他区域一起工作以实现全球弹性。可以根据需要在环中添加或删除节点,提供线性缩放。要使性能或容量翻倍,您需要做的就是将节点数量翻倍。
微软的 Azure Managed Instance for Apache Cassandra 最好被认为是将本地数据扩展到 Cosmos DB 的一种方式。本地 Cosmos DB 自发布后不久就一直存在需求,但它与 Azure 平台的深度集成使得微软很难将其分离。通过提供其 Azure 实施和 Cosmos DB 之间的集成,现在可以设置一个 Azure 托管的 Cassandra 环,并将其与本地和 Cosmos DB 对等。您现在可以在本地和云之间复制数据,利用 Cosmos DB 的功能运行全球规模的分布式应用程序,同时使用本地 Cassandra 实例在您自己的数据中心处理受监管的数据操作。
使用托管实例还有其他优势,因为您可以将 Cassandra 环的大部分日常操作移交给 Azure。它将自动提供升级和更新,处理补丁,使您的数据库始终运行最安全的软件版本。由于管理开销较少,您可以专注于构建应用程序而不是维护堆栈。
设置和运行 Azure 的 Apache 及其任何其他托管开源数据库之间没有太大区别。首先登录到 Azure 门户,然后搜索 Managed Instance for Apache Cassandra 以创建集群。
您需要执行将 Azure 服务添加到订阅的大部分步骤,从将其添加到资源组和选择位置。同时,选择名称并选择主机 VM 类型。在当前预览版中,您仅限于连接到四个 P30 磁盘的 DS14_v2 服务器。这些是非常强大的基于 Xeon 的系统,具有 16 个 vCPU、112GB 内存和 224GB SSD。支持多达 64 个数据盘和 8 个网卡,带宽为 12,000 Mbps。预计每台服务器每小时至少支付 2.11 美元,具体取决于您提供服务的位置。 P30 磁盘每个磁盘提供 1TB 的存储空间,每月至少花费 122.88 美元(装载额外费用)。
在 Azure 中运行 Casandra 并不便宜,但它不适合小型应用程序。即使您仅将应用程序用作通向 Cosmos DB 的网关,您也会围绕应用程序转移大量数据。
下一步将您的实例链接到新的或现有的 Azure 虚拟网络。任何 VNet 都需要具有 Internet 访问权限,因为它需要链接到多个不同的 Azure 服务。其中包括支持虚拟机扩展、管理加密密钥和证书,以及与 Azure 的安全和身份验证服务集成。如果要连接到现有 VNet,则必须从 Azure CLI 添加适当的权限,否则部署将失败。
您现在已准备好创建集群。一旦部署完毕,下一步就是创建一个支持 Cassandra 库的管理虚拟机。这将允许您使用 Cassandra 查询工具来管理您的数据库,使用您在创建集群时设置的管理员密码。您现在可以开始使用 Cassandra。
如果您考虑使用 Azure 中的 Cassandra 作为 Cosmos DB 的桥梁,您需要将 Azure 资源配置为混合集群。和以前一样,在 Azure 中创建和部署 Cassandra 集群,设置其名称并将其连接到 Azure VNet。您需要为节点到节点加密配置 Cassandra,因此如果您的本地安装未使用它,请启用它。导出加密证书并使用 Azure CLI 将它们安装在 Azure 托管的群集中。这些将使您的两个站点能够通过加密的八卦连接进行通信。
VNet 需要通过专用的 Express Route 连接或使用站点到站点 VPN 连接到本地网络。你使用什么取决于你打算发送到 Azure 的数据量,尽管实验集群可能会使用 VPN 来避免设置专用多协议标签交换 (MPLS) 连接的成本。
您将需要在托管集群中创建一个新的数据中心,使用 Azure CLI 获取其种子节点的详细信息。这些被添加到您的本地系统的配置详细信息,以及定义您的站点到站点复制策略。这个过程非常简单,只需要用 Cassandra 的查询语言编写几行代码。
该服务的一个有趣方面是支持 Azure 基于 Apache Spark 的分析工具 Databricks。如果您在与托管 Cassandra 服务相同的 VNet 中安装 Databricks,然后使用 Apache Spark Cassandra 连接器链接到您的端点,则您可以使用 Spark 和 Databricks 笔记本对 Cassandra 托管的数据运行分析。
有趣的是,微软对混合云运营的承诺如何转化为数据处理。通过提供运行 Cassandra 的托管路径,该公司为您的本地工具和云之间的 NoSQL 数据提供了一个天然的桥梁。这是一种双向连接,可以在本地处理敏感数据,同时利用应用程序的云规模(并最终扩展到 Cosmos DB 的全球规模)。
Cassandra 自己的复制协议提供了桥梁,而 Azure 确保它是最新的和安全的。结果是一组有效的工具解决了与链接云和数据中心相关的许多问题,这些工具可以利用 Apache Spark 等工具将数据交付给依赖大数据的其他 Azure 服务。

作者 east
pgsql 4月 8,2023

pgsql运行出现 set – returning functions are not allowed in join conditions的错误

在 PostgreSQL 中,不允许在 JOIN 条件中使用返回 SET 类型的函数。这是因为,在执行 JOIN 操作时,需要根据 JOIN 条件将两个表中的行进行匹配和组合,而返回 SET 类型的函数可能会返回多行数据,无法直接用于 JOIN 条件。如果需要在 JOIN 条件中使用返回 SET 类型的函数,可以考虑改写查询语句,将函数的结果先存储到一个临时表中,然后再进行 JOIN 操作。或者,可以将该函数的结果提取出来,转化为数组或字符串等单一值类型,再在 JOIN 条件中使用。

以下是一个简单的示例代码,演示了如何避免在 JOIN 条件中使用返回 SET 类型的函数:

- 原始查询语句,会报错
SELECT *
FROM table1 AS t1
JOIN table2 AS t2 ON t1.id = ANY(my_function(t2.col));

-- 改写后的查询语句
WITH temp_table AS (
  SELECT id, my_function(col) AS set_col
  FROM table2
)
SELECT *
FROM table1 AS t1
JOIN temp_table AS tt ON t1.id = ANY(tt.set_col);

上述代码中,首先将返回 SET 类型的函数 my_function() 的结果存储到一个临时表 temp_table 中,并将其转化为数组形式。然后,在 JOIN 操作中使用 temp_table 表的列进行匹配。需要注意的是,实际应用中需要根据具体情况来修改查询语句,以适应不同的业务需求。

作者 east
pgsql 4月 7,2023

pgsql regexp_matches用法

PostgreSQL 中的 regexp_matches() 函数可以用于在一个字符串中匹配多个正则表达式,并返回所有匹配到的子字符串。其基本语法如下:regexp_matches(string, pattern [, flags])

其中:

  • string:要进行匹配的字符串。
  • pattern:用于匹配的正则表达式,可以包含一个或多个捕获组。
  • flags:可选参数,用于指定匹配模式,例如忽略大小写、支持换行、使用 POSIX 格式等。flags 的取值为一个字符组合,具体的取值和含义可以参考 PostgreSQL 文档。

函数的返回结果为一个二维数组,每个元素都是一个与正则表达式匹配的子字符串。以下是一个示例代码,演示了如何使用 regexp_matches() 函数从一个字符串中提取出所有的数字:

SELECT regexp_matches('abc123def456ghi', '\d+', 'g'); 

上述代码会返回一个二维数组,其中包含两个子数组,分别是匹配到的数字。也就是说,该函数返回的结果是:复制代码{{“123”}, {“456”}} 需要注意的是,PostgreSQL 还提供了很多其他的正则表达式函数,例如 regexp_replace()、regexp_split_to_array() 等等,这些函数都可以用于处理和操作字符串。

作者 east

上一 1 … 13 14 15 … 19 下一个

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

标签

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

官方QQ群

小程序开发群:74052405

大数据开发群: 952493060

近期文章

  • AUTOSAR如何在多个供应商交付的配置中避免ARXML不兼容?
  • C++thread pool(线程池)设计应关注哪些扩展性问题?
  • 各类MCAL(Microcontroller Abstraction Layer)如何与AUTOSAR工具链解耦?
  • 如何设计AUTOSAR中的“域控制器”以支持未来扩展?
  • C++ 中避免悬挂引用的企业策略有哪些?
  • 嵌入式电机:如何在低速和高负载状态下保持FOC(Field-Oriented Control)算法的电流控制稳定?
  • C++如何在插件式架构中使用反射实现模块隔离?
  • C++如何追踪内存泄漏(valgrind/ASan等)并定位到业务代码?
  • C++大型系统中如何组织头文件和依赖树?
  • 如何进行AUTOSAR模块的持续集成(CI)部署与版本控制?

文章归档

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

功能

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

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