2022年5月

对用户而言,优秀的对外数据分析工具非常关键,因此选择合适的数据架构就显得尤为重要。

现如今,数据分析不再是仅面向内部开发人员。当为业务方构建数据分析系统时,你需要确认哪种数据库后端是最合适的。

程序员的本能可能是“选用自己了解的数据库(例如 PostgreSQL 或 MySQL)”。数据仓库也可能会扩展核心的 BI 仪表板和报告之外的功能,不过对业务方的数据分析支持仍是其重要功能之一,因此要选择合适的工具来保证此功能的性能。

问题的关键点在于用户体验,以下是对外支持数据分析工作的一些关键技术讨论点(以 Apache Druid 为例)。

低延迟特性

一直在队列中等待查询会让人很恼火。与延迟有关的因素包括数据量、数据库的处理能力、用户和 API 调用的数量,以及数据库支持查询应用的能力。

当数据量比较大时,有一些方法可以基于任意在线分析处理(OLAP)数据库构建交互式数据体验,但或多或少都有一些其他方面的牺牲。预计算查询会对性能要求较高,还会使架构变得僵化。预聚合处理会使数据粒度变大。将数据时间限制在近期的处理方式,会使得数据完整性得不到保证。

一个“不妥协”的解决方案是选择专为大规模交互而构建的优化架构和数据格式,Apache Druid 正是这样一个旨在支持现代分析程序的实时数据库。

  • 首先,Druid 具备特有的分布式弹性架构,可将数据从共享数据层预取到近乎无限容量的数据服务器集群中。这种架构与诸如云数据仓库这样的解耦查询引擎相比,具有更快的性能,因为它不需要移动数据,并且比像 PostgreSQL 和 MySQL 这样的纵向扩展数据库具有更高的可扩展性。
  • 其次,Druid 采用内置于数据格式中的自动多级索引来驱动每个内核去支持更多查询操作。在常规 OLAP 列格式基础之上,还增加了全局索引、数据字典和位图索引,这可以最大化利用 CPU 周期,加快处理速度。

高可用性

如果开发团队为内部报告搭建了一个后端,那么中断几分钟甚至更长时间真的很严重吗?实际上并不是的。所以在典型 OLAP 数据库和数据仓库中,计划外的停机和维护是可以允许的。

但是如果你们团队构建了一个对外的供客户使用的分析应用程序,如果发生数据中断,会严重影响客户满意度、收入,当然还有你的周末休息时间。这就是为什么弹性(高可用性和数据持久性)需要成为对外分析应用程序数据库中的首要考虑因素。

考虑弹性就需要考虑设计标准。节点或集群范围的故障能完全避免吗?丢失数据的后果有多严重?保障应用程序和数据需要涉及哪些工作?

关于服务器故障,保证弹性的常规方法是多节点服务以及 备份机制。但如果你是为客户构建应用程序,则对数据丢失的敏感性要高得多。偶尔的备份并不能完全解决这一问题。

Apache Druid 的核心架构内置了该问题的解决方案,本质是一种强大而简单的弹性方法,旨在保证承受任何变故都不会丢失数据(即使是刚刚发生的事件)。

Druid 基于对象存储中共享数据的自动、多级复制实现高可用性(HA)和持久性。它实现了用户期望的 HA 特性以及持续备份机制,即使整个集群出现问题,也可以自动保护和恢复数据库的最新状态。

多用户

一个好的应用应该同时兼备大用户量和“引人入胜”的体验,因此为高并发构建后端非常重要。你肯定不想看到因为应用挂掉而让客户沮丧。内部报告的架构不必考虑这点,因为并发用户数量要小得多且有限。所以现实是,用于内部报告的数据库可能并不适合高并发应用程序。

为高并发构建数据库主要在于取得 CPU 使用率、可伸缩性和成本之间的平衡点。解决并发问题的通常做法是投入更多硬件成本。逻辑上说,只要增加 CPU 的数量,就能够同时进行更多的查询操作。虽然事实确实如此,但成本的增加是不可忽视的。

更好的方法还是使用像 Apache Druid 这样的数据库,它具有优化的存储和查询引擎,可以降低 CPU 使用率。我们强调的关键词是“优化”。数据库不应该读取它不需要的数据。Apache Druid 可以让基础设施在同一时间跨度内为更多查询操作提供服务。

节省成本是开发人员使用 Apache Druid 构建外部分析应用程序的一个重要原因。Apache Druid 具有高度优化的数据格式,结合了从搜索引擎世界借鉴来的多级索引以及数据缩减算法,可以最大限度地减少所需的处理量。

最终表现就是 Apache Druid 提供了其他数据库不可比拟的处理效率。它可以支持每秒数十到数千跨度的 TB 甚至 PB 级别的查询。

着眼当下,预见未来

分析应用程序对于用户而言至关重要,所以要构建正确的数据架构。

你肯定不想一开始就选择了一个错误的数据库,然后在后续扩展时面对诸多令人头疼的问题。幸运的是,Apache Druid 可以从小规模开始,并在之后轻松扩展以支持任何可以想象的应用程序。Apache Druid 有 优秀的官方文档,当然它是开源的,所以不妨尝试一下并,快速上手吧。


via: https://opensource.com/article/22/4/apache-druid-open-source-analytics

作者:David Wang 选题:lkxed 译者:unigeorge 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在当今快节奏的数字世界中,机构们使用低代码/无代码(LC/NC)应用来快速构建新的信息系统。本文将介绍 PyCaret,这是一个用 Python 编写的低代码机器学习库。

Featured-image-of-pycaret

PyCaret 是 R 编程语言中 Caret( 分类和回归训练 Classification And REgression Training 的缩写)包的 Python 版本,具有许多优点。

  • 提高工作效率: PyCaret 是一个低代码库,可让你提高工作效率。由于花费更少的时间进行编码,你和你的团队现在可以专注于业务问题。
  • 易于使用: 这个简单易用的机器学习库将帮助你以更少的代码行执行端到端的机器学习实验。
  • 可用于商业: PyCaret 是一个可用于商业的解决方案。它允许你从选择的 notebook 环境中快速有效地进行原型设计。

你可以在 Python 中创建一个虚拟环境并执行以下命令来安装 PyCaret 完整版:

pip install pycaret [full]

机器学习从业者可以使用 PyCaret 进行分类、回归、聚类、异常检测、自然语言处理、关联规则挖掘和时间序列分析。

使用 PyCaret 构建分类模型

本文通过从 PyCaret 的数据仓库中获取 Iris 数据集来解释使用 PyCaret 构建分类模型。

我们将使用 Google Colab 环境使事情变得简单,并按照下面提到的步骤进行操作。

步骤 1

首先,通过给出以下命令安装 PyCaret:

pip install pycaret

步骤 2

接下来,加载数据集,如图 2 所示:

Loading the data set

from pycaret.datasets import get_data
dataset = get_data('iris') 
(或者)
import pandas as pd 
dataset = pd.read_csv('/path_to_data/file.csv')

步骤 3

现在设置 PyCaret 环境,如图 2 所示:

PyCaret environment setup

from pycaret.classification import *
clf1 = setup(data=dataset, target = ‘species’)

PyCaret environment setup result

使用 PyCaret 构建任何类型的模型,环境设置是最重要的一步。默认情况下,setup() 函数接受参数 data(Pandas 数据帧)和 target(指向数据集中的类标签变量)。setup() 函数的结果如图 3 所示。 setup() 函数默认将 70% 的数据拆分为训练集,30% 作为测试集,并进行数据预处理,如图 3 所示。

步骤 4

接下来,找到最佳模型,如图 4 所示:

Finding the best model

best = compare_models()

默认情况下,compare_models() 应用十倍交叉验证,并针对具有较少训练时间的不同分类器计算不同的性能指标,如准确度、AUC、召回率、精度、F1 分数、Kappa 和 MCC,如图 4 所示。通过将 tubro=True 传递给 compare_models() 函数,我们可以尝试所有分类器。

步骤 5

现在创建模型,如图 5 所示:

Creating the model

lda_model=create_model (‘lda’)

线性判别分析分类器表现良好,如图 4 所示。因此,通过将 lda 传递给 create_model() 函数,我们可以拟合模型。

步骤 6

下一步是微调模型,如图 6 所示。

Tuning the model

tuned_lda=tune_model(lda_model)

超参数的调整可以提高模型的准确性。tune_model() 函数将线性判别分析模型的精度从 0.9818 提高到 0.9909,如图 7 所示。

Tuned model details

步骤 7

下一步是进行预测,如图 8 所示:

Predictions using the tuned model

predictions=predict_model(tuned_lda)

predict_model() 函数用于对测试数据中存在的样本进行预测。

步骤 8

现在绘制模型性能,如图 9 所示:

Evaluating and plotting the model performance — confusion matrix

evaluate_model(tuned_lda)

evaluate_model() 函数用于以最小的努力开发不同的性能指标。你可以尝试它们并查看输出。


via: https://www.opensourceforu.com/2022/05/pycaret-machine-learning-model-development-made-easy/

作者:S Ratan Kumar 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Kali Linux 2022.2 是今年的第二次更新,增加了一些有趣的内容。

kali linux

Kali Linux 不是你寻常使用的 Linux 发行版。它是专门为渗透测试和道德黑客学习及实验而量身打造的。

在新的 Kali Linux 版本中,增加了一些有趣的工具和功能。让我们来看看 Kali Linux 2022.2 的亮点。

Kali Linux 2022.2 有什么新功能?

Kali Linux 2022.2 是一个有趣的版本,它引入了更新的桌面环境,升级了 Linux 内核,增加了新的工具,以及更多的改进。

不仅仅限于通常的完善,你还可以看到一个新的屏幕保护程序,其中有许多令人惊讶的元素。

带有好莱坞怀旧色彩的新屏保

Kali Linux 已经出现在许多黑客相关的电视节目/电影(如《 黑客军团 Mr. Robot 》)中,看起来酷极了。

更进一步,Kali Linux 增加了一个新的屏幕保护程序(你可以单独安装),其中有来自好莱坞的令人惊讶的元素和一些吓唬人的黑客场景。

他们在屏保中调侃了《黑客帝国》的尼奥,还添加了一个漂亮的 Kali Linux 标志。

整个屏幕保护程序包括几个非常棒的元素。要安装并立即启动它,你可以输入以下命令:

sudo apt -y install kali-screensaver
sudo apt -y install hollywood-activate
hollywood-activate

GNOME 42

Kali Linux 终于包含了新的 GNOME 42 桌面环境。所以,在 Kali Linux 自然带有 GNOME 42 的所有优点,包括新的屏幕截图用户界面。

另外,现在你将会在 GNOME 桌面环境中获得一致的深浅主题体验。

KDE Plasma 5.24

对于 KDE 粉丝,Kali Linux 2022.2 也带来了新的 KDE Plasma 5.24 LTS 桌面环境。

新的 Kali Linux 工具

新的工具总是每个新版本的重点。一些新增加的工具包括:

  • BruteShark - 网络取证分析工具(NFAT)
  • Evil-WinRM - Ultimate WinRM shell
  • Hakrawler - 网络爬虫,设计用于轻松、快速发现端点和资产
  • Httpx - 快速和多用途的 HTTP 工具箱
  • Sparrow-wifi - 用于 Linux 的图形化 Wi-Fi 分析器

其他改进

该版本还有许多其他实质性的改进。主要的亮点包括。

  • 对终端进行了调整,以加强语法高亮、自动补完和输出
  • 自动复制丢失的配置
  • 支持 VirtualBox 共享文件夹
  • 增加了新的应用程序图标
  • 为多显示器设置调整了默认墙纸
  • 针对 ARM 设备的更新
  • Linux 内核 5.16

要探索更多关于该版本的信息,你可以查看 官方发布公告

下载 Kali Linux 2022.2

你应该能够在 官方下载页面 中找到该镜像。根据你的要求选择合适的版本,然后安装它。

Kali Linux 2022.2

via: https://news.itsfoss.com/kali-linux-2022-2-release/

作者:Ankush Das 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

AI 能通过 X 射线成像识别人的种族

MIT 和哈佛医学院的研究人员们意外的发现,经过训练读取 X 射线成像结果和 CT 扫描结果的人工智能程序可以以 90% 的准确率预测一个人的种族,判断一个人是黑人、白人还是黄种人。但有趣的是,进行这项研究的科学家表示他们不知道计算机是如何做到的。

消息来源:bostonglobe
老王点评:这就是现在的人工智能黑盒的可怕之处,你知道它能做到,但你不知道它怎么能做到。

研究人员设计出 iPhone 关闭时仍能运行的恶意软件

iPhone 在关闭时并没有完全关机。设备内部的芯片继续在低功耗模式下运行,因此可用 “Find My” 功能定位丢失或被盗的设备,或者在电池耗尽后使用信用卡和车钥匙。现在研究人员设计出了一种方法,滥用这种永远开机的机制来运行恶意软件,即使 iPhone 关机了,恶意软件仍然可以保持激活。这是因为 iPhone 的蓝牙芯片没有对运行的固件进行数字签名的机制,甚至也没有进行加密。

消息来源:arstechnica
老王点评:虽然这个漏洞单独利用价值不大,不过要是用来带到某些需要关闭电子设备的场所,可能就容易绕开防范了。

英伟达显卡的挖矿限制被破解,但游戏玩家无需担心

之前我们报道过,NiceHash 终于打破了英伟达显卡的挖矿限制。显卡的价格一直在暴跌,但似乎没有大的矿场大量买入被解除了挖矿限制的显卡。这是因为考虑到目前的盈利能力,即使是 3080 Ti 也才每天 3.5 美元左右的收入,仍需要近一年的时间才能实现收支平衡。而原计划在今年 6 月,后又延期的以太坊从 POW 共识转向 POS 共识的迁移计划,让现在大量买入 POW 挖矿使用的显卡显然不明智。

消息来源:tomshardware
老王点评:说到底,显卡厂商的限制治标不治本,区块链网络抛弃 POW 才是釜底抽薪。但是我对 POS 是否是区块链网络的未来表示怀疑,因为没有没有任何成功的 POS 前例。

微软一直在为 Azure 云使用一个基于 Debian 的 Linux 发行版。我们开始揭开它的面纱了!

微软 Debian

微软在其大量的项目中利用了 Linux。近年来,你一定读过很多关于 WSL(或 WSL2)和微软制作的 Linux 发行版(即 CBL Mariner)的消息。

CBL 是 “共用基础 LinuxCommon Base Linux”的缩写。

甚至在 Windows 11 上,微软也在不断地改进 WSL 的体验。

虽然 CBL Mariner 被用来支持 WSLg(WSL 2 的 GUI 部分)和 Azure,但最近一些媒体(ZDNet)报道发现了微软内部使用的另一个 Linux 发行版。

微软肯定喜欢 Linux,对吗?

CBL-Delridge:一个基于 Debian 的 Linux 发行版

微软维护着一个基于 Debian 的发行版,它被用来支持 Azure 的“ 云端外壳 Cloud Shell ”。它的名字是 “CBL-Delridge”。

感谢 Hayden Barnes,他是 SUSE 公司负责 Windows 容器的高级工程经理。

在他 2022 年 2 月的一篇 旧博文 中,他透露了关于它的更多细节,并帮助你构建它以在需要时将其导入 WSL。

与从头构建的 CBL-Mariner 不同,CBL-Delridge(CBL-D)是基于 Debian 10(Buster)的。

看到 Debian 在这里受到青睐并不奇怪,即使是 谷歌也为其内部的 Linux 发行版 gLinux 抛弃了 Ubuntu 而选择了 Debian

有趣的是,微软在 2020 年发布了这个供内部使用的发行版(根据 Hayden 维护的 微软的开源举措的非官方时间表),而我们在 2022 年才知道了它。

CBL-Delridge 也采用了同样的版本号 10(巧合),代号为 “Quinault”。解析一下这个名字,ZDNet 指出,Delridge 是西雅图西部的一个区,而 Quinault 指的是华盛顿州奥林匹克国家公园的一个山谷。

构建 CBL-Delridge

与普通的 Linux 发行版不同,你找不到它的可以公开下载的镜像文件。

考虑到 CBL-D 的 APT 软件包库是公开的,如果你出于任何需求想测试它,你可以构建你的 CBL-D 镜像。

你也可以把它导入 WSL 中。Hayden 的博文 解释了如何使用 debootstrap 来开始构建镜像,然后将其导入 WSL。

请注意,CBL-D 并不完全是 Debian 的替代品。所以,你可能无法找到所有你喜欢的软件包。要了解更多的信息,你可以浏览 Hayden 的博文。

你对微软的内部使用的 Linux 发行版有什么看法?你试过其中一个吗?请在评论中告诉我你的想法。


via: https://news.itsfoss.com/microsoft-debian-distro/

作者:Ankush Das 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Mplayer 是 Linux、Windows、Mac 和 DOS 等操作系统上常见的一款开源媒体播放器。

 title=

听音乐是放松心情的好方法。在 Linux 上,我使用 Rhythmbox 听音乐。但是你可能不知道在 FreeDOS 上也可以听音乐。让我们看一下两款流行的音乐播放器吧:

用 Mplayer 听音乐

Mplayer 是一款开源的媒体播放器,通常安装于 Linux、Windows 和 Mac 上,但也有 DOS 版本可用。这里我们讨论的就是在 FreeDOS 版本。虽然其 DOS 移植版基于旧版(2007 年的 1.0rc2-3-3-2 版),但它完全适用于在 DOS 上播放媒体。

我使用 MPlayer 在 FreeDOS 上听音乐文件。在这个例子中,我复制了我最喜欢的有声读物之一,Big Finish Productions 神秘博士:闪点行动 Doctor Who: Flashpoint ,并在我的 FreeDOS 计算机上将其保存为 C:\MUSIC\FLASHPNT.MP3。为了在 FreeDOS 上收听闪点行动,我从 FreeDOS 命令行启动 MPlayer 并指定要播放的 MP3 文件名。MPlayer 的基本用法是 mplayer [options] filename,如果默认设置可用,你应该可以直接使用该文件名启动 MPlayer。在本例中,我运行以下命令将工作目录切换为 \MUSIC,然后使用 MPlayer 播放我的 MP3 有声读物文件:

CD \MUSIC
MPLAYER FLASHPNT.MP3

FreeDOS 不区分大小写,因此它将忽略 DOS 命令和任何文件或目录的大小写字母的区别。你键入 cd \musicCd \Music 都可以切换到 Music 目录,效果相同。

 title=

你可以用 Mplayer 播放 MP3 文件

使用 MPlayer 在 FreeDOS 播放音乐文件时没有花哨的界面。但同时,它也不会分散注意力。所以我可以一边让 FreeDOS 在我的 DOS 计算机上播放 MP3 文件,一边使用另一台计算机做其他事情。然而,FreeDOS 一次只运行一个任务(换句话说,DOS 是一个 单任务 single-tasking 操作系统),所以我不能将 MPlayer 置于 FreeDOS 的“后台”运行,而在 同一台 FreeDOS 机 上处理其他事情。

请注意,MPlayer 是一个需要大量内存才能运行的大程序。虽然 DOS 本身并不需要太多的内存来运行,但我建议至少有 16M 的内存来运行 MPlayer。

使用 Open Cubic Player 听音频文件

FreeDOS 不止提供了 MPlayer 来播放媒体。还有 Open Cubic Player,它支持多种文件格式,包括 Midi 和 WAV 文件。

1999 年,我录制了一段简短的音频文件,内容是我说:“你好,我是 Jim Hall,我把 ‘FreeDOS’ 发音为 FreeDOS。"这是一个玩笑,借鉴了 Linus Torvalds 录制的演示他如何发音 Linux 的 类似的音频文件English.au,包含在 1994 年的 Linux 源代码树中)中的创意。我们不会在 FreeDOS 中分发这段 FreeDOS 音频剪辑,但欢迎你从我们的 Silly Sounds 目录中下载它,该目录位于 Ibiblio 的 FreeDOS 文件存档中。

你可以使用 Open Cubic Player 收听 FreeDOS 音频剪辑。通常从 \APPS\OPENCP 目录键入 CP 命令运行 Open Cubic Player。但 Open Cubic Player 是 32 位应用程序,运行它需要 32 位 DOS 扩展器。常见的 DOS 扩展器是 DOS/4GW。虽然可以免费使用,但 DOS/4GW 不是开源程序,因此我们不会将其作为 FreeDOS 包分发。

相反,FreeDOS 提供了另一个名为 DOS/32A 的开源32位扩展器。如果你在安装 FreeDOS 时没有安装所有内容,则可能需要使用 FDIMPLES 进行安装。我使用这两行命令切换到 \APPS\OPENCP 路径,并使用 DOS/32A 扩展器运行 Open Cubic Player:

CD \APPS\OPENCP
DOS32A CP

Open Cubic Player 没有花哨的用户界面,但你可以使用方向键将 文件选择器 File Selector 导航到包含要播放的媒体文件的目录。

 title=

Open Cubic Player 打开文件选择器

文本比在其他 DOS 应用程序中显示的要小,因为 Open Cubic Player 会自动将显示更改为使用 50 行文本,而不是通常的 25 行。当你退出程序时,Open Cubic Player 会将显示重置为 25 行。

选择媒体文件后,Open Cubic Player 将循环播放该文件(按键盘上的 Esc 键退出)。当文件通过扬声器播放时,Open Cubic Player 会显示一个频谱仪,以便你可以观察左右声道的音频。FreeDOS 音频剪辑是以单声道录制的,因此左右声道是相同的。

 title=

Open Cubic Player 中播放 FreeDOS 音频文件

DOS 可能来自较早的年代,但这并不意味着你不能使用 FreeDOS 来执行现代任务或播放当前的媒体。如果你喜欢听数字音乐,试一试在 FreeDOS上 使用 Open Cubic Player 或 MPlayer 吧!

(题图由 Anselmo PedrazPixabay 上发布)


via: https://opensource.com/article/21/6/listen-music-freedos

作者:Jim Hall 选题:lujun9972 译者:hanszhao80 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出