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

月度归档4月 2023

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

  • 首页   /  2023   /  
  • 4月
  • ( 页面2 )
大数据开发 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
python 4月 7,2023

python 定义一个列表和加入数据的例子

在 Python 中,定义一个列表可以使用方括号 [],并在其中指定元素。例如,下面的代码定义了一个包含三个整数的列表:

my_list = [1, 2, 3]

如果需要向列表中追加数据,可以使用 append() 方法。该方法可以在列表末尾添加一个元素。以下是一个示例代码,演示如何向列表中追加数据:

my_list = [1, 2, 3]

# 向列表末尾添加一个元素

my_list.append(4)

# 打印列表内容 print(my_list)

上述代码会输出包含四个整数的列表:

[1, 2, 3, 4]

除了 append() 方法,还可以使用 extend() 方法来一次性添加多个元素,或者使用 insert() 方法在指定位置插入元素,等等。根据具体应用场景选择合适的方法。

作者 east
python 4月 7,2023

python统计变量出现次数

在 Python 中,可以使用 collections 模块中的 Counter 类来统计变量出现的次数。Counter 可以接收任何可迭代对象,并返回一个字典,其中包含每个元素及其出现的次数。以下是一个简单的示例代码:

from collections import Counter

my_list = [1, 2, 3, 4, 1, 2, 3, 1, 2]
my_counter = Counter(my_list)

print(my_counter)

上述代码会输出一个字典,其中包含了 my_list 列表中每个元素及其出现的次数:

  
{1: 3, 2: 3, 3: 2, 4: 1}

如果需要按照出现次数从高到低排序,可以将结果转化为一个列表,并使用 sorted() 函数进行排序:

[(1, 3), (2, 3), (3, 2), (4, 1)]

需要注意的是,Counter 类还提供了很多其他的方法,例如 most_common() 方法可以返回出现次数最多的几个元素等等,可以根据具体业务需求选择合适的方法。

作者 east
人工智能 4月 7,2023

人工智能能否解决 IT 永恒的数据问题?

人工智能和机器学习已经为企业带来了大量实用价值,从欺诈检测到聊天机器人再到预测分析。但 ChatGPT 大胆的创意写作技巧将人们对 AI/ML 的期望提升到了新的高度。 IT 领导者不禁要问:AI/ML 是否最终准备好超越单点解决方案并解决核心企业问题?
以最大、最古老、最令人困惑的 IT 问题为例:管理和集成整个企业的数据。如今,随着本地和云平台上数据的数量、多样性、可变性和分布呈无休止的指数曲线攀升,这一努力迫切需要 AI/ML 技术的帮助。正如 IDC 数据集成和智能软件副总裁 Stewart Bond 所说:“你需要机器来帮助你管理它。”
AI/ML 真的可以帮助对数据混乱进行排序吗?答案是肯定的,但行业共识是我们只是触及了有一天可能实现的目标的表面。 Informatica、IBM 和 SnapLogic 等现有集成软件公司已经添加了 AI/ML 功能来自动执行各种任务,而 Tamr、Cinchy 和 Monte Carlo 等一批较新的公司将 AI/ML 置于其产品的核心。没有人能够提供能够端到端自动化数据管理和集成流程的 AI/ML 解决方案。
那根本不可能。没有任何产品或服务可以在没有人为干预的情况下协调所有数据异常,更不用说改革混乱的企业数据架构了。这些新的 AI/ML 驱动的解决方案如今可以做的是,从数据编目到构建数据管道再到提高数据质量,大大减少各种数据整理和集成工作中的体力劳动。
这些可能是值得注意的胜利。但要产生真正、持久的影响,需要 CDO(首席数据官)方法,而不是为一次性项目获取集成工具的冲动。在企业确定在何处应用哪些 AI/ML 解决方案之前,他们需要对整个数据资产(客户数据、产品数据、交易数据、事件数据等)有一个连贯的、自上而下的视图,并全面了解元数据定义那些数据类型。
如今,大多数企业都维护着大量的数据存储,每个数据存储都与自己的应用程序和用例相关联——云计算加剧了这种扩散,因为业务部门使用自己的数据孤岛快速启动云应用程序。其中一些数据存储可用于交易或其他运营活动,而其他数据存储(主要是数据仓库)则为从事分析或商业智能的人员服务。
Forrester Research 的副总裁兼首席分析师 Noel Yuhanna 说,让事情变得更加复杂的是,“地球上的每个组织都有超过两打的数据管理工具”。 “这些工具都不会相互交谈。”这些工具可处理从数据编目到 MDM(主数据管理)、数据治理到数据可观察性等一切事务。一些供应商已经为他们的产品注入了 AI/ML 功能,而其他供应商尚未这样做。
在基本层面上,数据集成的主要目的是映射各种数据源的模式,以便不同的系统可以共享、同步和/或丰富数据。例如,后者是开发 360 度客户视图的必备条件。但看似简单的任务,例如确定具有相同名称的客户或公司是否是同一实体——以及哪些记录的哪些细节是正确的——需要人工干预。领域专家经常被要求帮助建立处理各种异常的规则。
这些规则通常存储在嵌入集成软件的规则引擎中。 Michael Stonebraker 是关系数据库的发明者之一,也是 Tamr 的创始人,该公司开发了 ML 驱动的 MDM 系统。 Stonebraker 提供了一个真实世界的例子来说明基于规则的系统的局限性:一家大型媒体公司创建了一个“自制”MDM 系统,该系统已经积累了 12 年的规则。
“他们制定了 300,000 条规则,”Stonebraker 说。 “如果你问某人,你能理解多少规则,一个典型的数字是 500。用力推我,我会给你 1,000。拧我的胳膊,我给你2000。但是 50,000 或 100,000 条规则是完全无法管理的。之所以有这么多规则,是因为有这么多特殊情况。”
Tamr 的首席产品官 Anthony Deighton 声称,他的 MDM 解决方案克服了基于规则的系统的脆弱性。 “基于机器学习的方法的好处在于,当你添加新的来源时,或者更重要的是,当数据形状本身发生变化时,系统可以优雅地适应这些变化,”他说。然而,与大多数 ML 系统一样,需要使用大量数据进行持续训练,并且仍然需要人工判断来解决差异。
AI/ML 不是灵丹妙药。但它可以提供非常有价值的自动化,不仅适用于 MDM,而且适用于数据集成的许多领域。然而,要充分利用这一优势,企业需要收拾好自己的房子。
“数据结构”是用于描述整个企业有用数据的疯狂被子的操作短语。确定该结构的范围首先要了解数据的位置并对其进行编目。该任务可以使用 Informatica 的 AI/ML-infused CLAIRE 引擎或 IBM 的 Watson Knowledge Catalog 等解决方案的 AI/ML 功能实现部分自动化。其他编目软件供应商包括 Alation、BigID、Denodo 和 OneTrust。
Gartner 研究总监 Robert Thanaraj 给 CDO 的信息是,“你需要构建你的结构。你购买必要的技术组件,你构建,并根据你想要的结果进行协调。”他说,这种结构应该是“元数据驱动的”,由围绕企业数据本身的所有重要信息的汇编编织而成。
他对企业的建议是“投资于元数据发现”。这包括“人们与组织中的人一起工作的模式,人们与数据一起工作的模式,以及他们使用的数据组合。他们拒绝哪些数据组合?数据存储位置的模式是什么,数据传输位置的模式是什么?”
Informatica 首席产品官 Jittesh Ghai 表示,Informatica 的 CLAIRE 引擎可以帮助企业获得元数据洞察力并据此采取行动。 “我们应用 AI/ML 功能来提供预测数据……通过将元数据的所有维度链接在一起以提供上下文。”除其他外,这种预测性数据智能可以帮助自动创建数据管道。 “我们自动生成到来自各种源项目的公共元素的映射,并将其坚持到目标系统的模式。”
IDC 的 Stewart Bond 指出,SnapLogic 集成平台具有类似的管道功能。 “因为他们是基于云的,所以他们会查看……所有其他已经建立管道的客户,他们可以找出下一个最好的 Snap:你应该根据什么在这个管道中采取的下一个最佳行动是什么成百上千的其他客户已经这样做了。”
然而,邦德观察到,在这两种情况下,建议都是由系统提出的,而不是系统独立行动的。人类必须接受或拒绝这些建议。 “那里还没有很多自动化发生。我要说的是,即使在地图绘制方面,仍然有很多机会实现更多的自动化、更多的人工智能。”
根据 Bond 的说法,AI/ML 影响最大的地方在于更好的数据质量。 Forrester 的 Yuhanna 对此表示赞同:“AI/ML 确实推动了数据质量的提高,”他说。这是因为 ML 可以从大量数据中发现和学习模式,并推荐人类无法确定的新规则或调整。
高质量数据对于处理重要客户、员工、供应商和产品数据的交易和其他操作系统至关重要。但它也可以让沉浸在分析中的数据科学家的生活变得更加轻松。
人们常说,数据科学家将 80% 的时间花在清理和准备数据上。迈克尔·斯通布雷克 (Michael Stonebraker) 对这一估计提出异议:他引用了他与一位数据科学家的对话,这位数据科学家说她 90% 的时间都花在识别她想要分析的数据源、整合结果和清理数据上。然后,她将剩余 10% 的时间中的 90% 用于修复清洁错误。任何 AI/ML 数据编目或数据清理解决方案,只要能为她节省大量时间,都可以改变游戏规则。
数据质量从来都不是一劳永逸的工作。数据不断变化的性质及其经过的许多系统催生了一类新的解决方案:数据可观察性软件。 “这个类别正在做的是在数据流经数据管道时观察数据。它正在识别数据质量问题,”邦德说。他将初创公司 Anomolo 和 Monte Carlo 称为两个声称“使用 AI/ML 来监控数据质量的六个维度”的参与者:准确性、完整性、一致性、唯一性、及时性和有效性。
如果这听起来有点像 DevOps 必不可少的持续测试,那绝非巧合。越来“但你也为此添加了统计控制。”
问题在于观察数据问题是在事后才发生的。如果不紧急停止管道,就无法阻止不良数据到达用户。但正如 Bond 所说,当数据操作团队成员应用修正并捕获它时,“然后机器可以在下次发生异常时进行修正。”
数据管理和集成软件供应商将继续快速添加有用的 AI/ML 功能,以自动化数据发现、映射、转换、流水线、治理等。然而,Bond 指出,我们遇到了一个黑匣子问题:“每个数据供应商都会说他们的技术是智能的。其中一些仍然是雾里看花。但在这些产品的核心深处有一些真正的人工智能/机器学习的东西。”
对这种情报的需求是显而易见的。 Informatica 的 Ghai 表示:“如果我们要在这种异构、多云、碎片化的环境中提供 PB 级数据,我们就需要将 AI 应用于数据管理。” Ghai 甚至关注 OpenAI 的 GPT-3 大型语言模型系列。 “对我来说,最令人兴奋的是理解人类文本指令的能力,”他说。
然而,没有任何产品具备使数据混乱合理化或独立清理数据的智能。 “完全自动化的结构是不可能的,”Gartner 的 Thanaraj 说。 “必须在可以自动化的东西、可以增强的东西以及仍然可以由循环中的人类补偿的东西之间取得平衡。”
Stonebraker 列举了另一个局限性:AI/ML 人才严重短缺。没有用于数据管理和集成的交钥匙 AI/ML 解决方案,因此正确实施需要 AI/ML 专业知识。 “留给他们自己的设备,企业人员一遍又一遍地犯同样的错误,”他说。 “我认为我最大的建议是,如果你不擅长这些,找一个知道他们在做什么的合作伙伴。”
该声明的另一面是,如果您的数据架构基本上是健全的,并且您有可用的人才来确保您可以正确部署 AI/ML 解决方案,那么数据管理员、分析师和科学家的大量单调工作就可以消除。随着这些解决方案变得更加智能,这些收益只会增加。

作者 east

上一 1 2 3 4 下一个

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

标签

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

官方QQ群

小程序开发群:74052405

大数据开发群: 952493060

近期文章

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

文章归档

  • 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 (43)
  • sklearn (1)
  • 云计算 (20)
  • 人工智能 (61)
    • chatgpt (21)
      • 提示词 (6)
    • Keras (1)
    • Tensorflow (3)
    • 大模型 (1)
    • 智能体 (4)
    • 深度学习 (14)
  • 储能 (44)
  • 前端 (4)
  • 大数据开发 (488)
    • CDH (6)
    • datax (4)
    • doris (30)
    • 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)
    • 海豚调度器 (10)
    • 运维 (34)
      • Docker (3)
  • 小游戏代码 (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删除.