问题标签 [apache-kudu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 具有实时余额更新的大容量交易的最佳实践
我目前有一个处理大量事务的 MySQL 数据库。为简单起见,它是实时的动作数据流(点击和其他事件)。该结构是这样的,即用户属于子附属公司,而子附属公司属于附属公司。
我需要保持点击的平衡。为简单起见,假设我需要将每个用户、子关联公司和关联公司的点击余额增加 1(实际上取决于事件的处理更多)。目前我做的非常简单——一旦我收到事件,我会在 PHP 中进行顺序查询——我读取用户的余额,加一并存储新值,然后我读取子附属公司的余额,递增并写入, ETC。
用户的余额对我来说是最重要的指标,所以我希望尽可能保持实时。sub-aff 和会员级别的其他指标不太重要,但它们越接近实时越好,但我认为 5 分钟的延迟可能是可以的。
随着项目的发展,它已经成为一个瓶颈,我现在正在寻找替代方案——如何重新设计余额的计算。我想确保新设计每天能够处理 5000 万个事件。对我来说,不要丢失单个事件也很重要,我实际上将每个更改周期包装为在 sql 事务中单击余额。
我正在考虑的一些事情:
1 - 创建一个 cron 作业,它将不实时更新子附属公司和附属公司级别的余额,假设每 5 分钟一次。
2 - 使用存储过程将数字处理和余额更新移动到数据库本身。我正在考虑添加一个单独的数据库,也许 Postgress 会更适合这项工作?我试图看看是否有严重的性能改进,但互联网似乎在这个话题上存在分歧。
3 - 将这个特定的数据流移动到带有 parquet(或 Apache Kudu?)的 hadoop 之类的东西,如果需要,只需添加更多服务器。
4 - 对现有数据库进行分片,基本上为每个会员添加一个单独的数据库服务器。
对于此类任务,是否有一些最佳实践/技术或我可以做的一些明显的事情?非常感谢任何帮助!
scala - Apache Kudu 与 Apache Spark NoSuchMethodError:exportAuthenticationCredentials
我在 Spark 和 Scala 中有这个功能:
但是在尝试创建 kuduContext 时会引发异常:
Spark 工作没有任何问题。我已经按照官方文档中的描述安装了 kudu VM,并且我已经从 bash 登录到 impala 实例没有问题。
有人知道我做错了什么吗?
apache-drill - 将 Apache Drill 连接到 Kudu
有没有办法将 Apache Drill 连接到 Kudu?
我已经看到 Drill 1.5 在 github 上添加了对 Kudu 和 Drill-storage-kudu 的实验性支持,但我不知道如何使它工作......现在这不是实验性的吗?
谢谢
apache-spark - 使用 Spark Shell 将行插入 Kudu 时出错
我是 Apache Kudu 的新手,我将它安装在我的 Ubuntu 系统上,后来使用 Apache Spark shell 在其中创建了一个表。现在我正在尝试使用 insertRows() 将数据插入到该表中,因为我正在使用但下面给出的命令,
其中customersDF 是一个数据框,spark_kudu_tbl 是Kudu 数据库中的一个表。我得到以下错误,
... 70 省略
我尝试了不同的选择,但没有人给我结果。任何人都可以为我的问题提供任何解决方案。
apache-kudu - Streamsets 在使用 Kudu 客户端时抛出异常(MANUAL_FLUSH 缓冲区)
我是 Streamsets 和 Kudu 技术的新手,我正在尝试几种解决方案来实现我的目标:我有一个包含一些 Avro 文件的文件夹,这些文件需要处理并随后发送到 Kudu 模式。
https://i.stack.imgur.com/l5Yf9.jpg
当使用包含数百条记录的 Avro 文件时,一切正常,但是当记录数增加到 16k 时,会显示此错误:
我在 Streamsets 和 Kudu 上搜索了所有可用的配置,我能够应用的唯一解决方案是编辑 Java 源代码,删除从默认刷新模式切换到手动模式的单行;这可行,但它不是最佳解决方案,因为每次我想在新机器上使用它时都需要编辑和编译这个文件。
任何人都知道如何避免这种情况发生?
提前致谢!
multi-tenant - 使用 Apache Kudu 实现多租户
我正在使用 apache Kudu 实现大数据系统。初步要求如下:
- 支持多租户
- 前端将使用 Apache Impala JDBC 驱动程序来访问数据。
- 客户将在 Kudu 上为分析用例编写 Spark 作业。
由于 Kudu 不支持多租户 OOB,所以我可以想到以下方式来支持多租户。
方法:
每个表都有tenantID 列,所有租户的所有数据都将存储在具有相应tenantID 的同一个表中。
将 Kudu 表映射为 Impala 中的外部表。为这些表创建视图,并为每个租户使用 where 子句,例如
Customer1 将访问表 cust1.table 以使用 impala JDBC 驱动程序或 Spark 访问 cust1 的数据。Customer2 将访问表 cust2.table 以访问 cust2 的数据等。
问题:
- 这是实现多租户的可接受方式还是有更好的方法(可能与其他外部服务一起使用)
- 如果以这种方式实现,我如何限制 customer2 访问 Kudu 中的 cust1.table,尤其是当客户出于分析目的编写自己的 spark 作业时。
apache-spark - 如何使用 apache spark 访问从 impala 创建的 apache kudu 表
我下载了 apache kudu 的快速启动虚拟机,并按照这些示例出现在此页面https://kudu.apache.org/docs/quickstart.html中,实际上我创建了名为“sfmta”的表,但是当我尝试使用带有以下语句的 spark-shell 访问 kudu 表:
我收到这个错误
我也尝试过指定不同的表名,如“default:sfmta”、“default::sfmta”,结果相同。你能告诉我为什么会这样吗?为什么我无法访问 kudu 表?这是用黑斑羚创建的吗?
提前致谢。
join - Hive Hbase JOIN 性能 & KUDU
阅读 Cloudera 文档,使用 Impala 将 Hive 表与 HBase 较小的表连接起来,如下所述,然后在没有大数据设备(如 OBDA)和较大的可变 HBase 维度表的情况下:
如果您有对大型事实表执行聚合操作并将结果与小维度表连接的联接查询,请考虑将 Impala 用于事实表,将 HBase 用于维度表。(因为在这种情况下,Impala 对 HBase 表进行全扫描,而不是基于连接列进行单行 HBase 查找,仅在 HBase 表足够小以至于进行全表扫描不会导致查询的性能瓶颈。)
有没有办法让那个单键以另一种方式查找?
此外,我在 KUDU 和 HDFS 上注意到以下内容,大概是 HIVE。有人在这里有经验吗?很想知道。我会在适当的时候自己尝试,但是在非打包的快速入门上安装包裹并不是那么容易......
在单个应用程序(或查询)中混合和匹配存储管理器
apache-kudu - 如何获取当前的 kudu master 或 tserver 标志值?
可以从 kudu Web 界面访问 master 和 tserver 标志(通过默认http://127.0.0.1:8051/varz和http://127.0.0.1:8050/varz)。
但我找不到从命令行获取它的方法。
例如,如何从正在运行的 kudu-tserver 实例中获取 tserver_master_addrs?
就像是 :
cloudera-cdh - 从单主服务器迁移到多主服务器 Apache KUDU 配置
我们更改了 Apache KUDU 的配置。我们在原来的基础上增加了 2 个新的 kudu 大师。
问题:当我们启动 KUDU 时,它会由老领导(原始大师)启动,现在一切正常。但是一段时间后,领导者更改为添加的主人之一,所有查询都开始失败。
有任何想法吗 ?任何人?
求求你了,谢谢你!