我们想使用 elastic apm 跟踪我们的 elixir phoenix 应用程序。但是我无法从elastic中找到apm代理。
有人建议opentelemetry
与 exporter 一起使用,但我无法从文档中了解如何使用它。我想跟踪细节,就像新遗物一样,比如错误和所有事情。
以前我们使用新的relic,它有一个开源的apm代理,但现在我们想切换到elastic。我无法理解如何在应用程序中使用span以及如何处理多个span以及将它们放在哪里。如果有人可以提供帮助或提供使用弹性 apm 的替代解决方案,那就太好了。
Apache Phoenix 推荐使用盐桶来提高性能。我希望获得我前段时间创建的表的盐桶数。
SHOW CREATE TABLE
。describe
命令不提供有关SALT_BUCKETS
.怎样才能得到计数?
我正在寻找一个分布式时间序列数据库,它可以在集群设置模式和生产准备中免费使用,而且必须很好地适应hadoop生态系统.
我有一个基本上大约150k传感器的IOT项目,它每10分钟或1小时发送一次数据,所以我试着看一下时间序列数据库,它具有聚合度量,下采样,预聚合(滚 - 我已经在这个Google样式表文档时间序列数据库比较中找到了这个比较.
我测试了Opentsdb,hbaserowkey的数据模型非常适合我的用例:但是需要为我的用例开发的函数是:
我已经测试了keirosDB,这是一个带有更丰富API的opentsdb的分支,它使用Cassandra作为后端存储,事实是他们的API完成了我所寻找的下采样汇总查询倍数指标等等.
我已经测试了Warp10.io和Apache Phoenix,我在这里阅读了Hortonworks链接,它将被Ambari Metrics使用,因此我认为它也非常适合时间序列数据.
我的问题是截至目前为止,对于所有类型的请求,请求在1S以下的性能进行实时分析的最佳时间序列数据库示例:我们希望50个传感器在5年内重新采样的聚合数据的平均值由几个月?
我认为这样的请求不能在1S下完成,所以我相信这些请求我们需要一些汇总/预聚合机制,但我不太确定,因为那里有很多工具,我无法确定哪一个适合我需要最好的.
我已经开始学习 Elixir,但我正在努力应对从 OOP 的功能范式转变。
所以我正在做的练习要求我返回正确的字符串格式,将 DNA 转换为 RNA。
例如:RnaTranscription.to_rna('ACTG')
应该返回'UGAC'
。
这是我到目前为止,但我不知道如何继续。我应该如何获取每个元素并替换它们?我想过为每个人使用 String.replace(dna, "A", "U") 但它不是 DRY。
defmodule RnaTranscription do
def to_rna(dna) do
map = %{"A" => "U", "C" => "G", "T" => "A", "G" => "C"}
dna
|> String.split("")
|> Enum.map(dna, substitute(dna, x))
end
def substitute(x), do: x -> [ map[x] | substitute(tails) ]
end
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 localhost:2181 的 zookeeper 访问在本地计算机上运行的 hbase。我安装了 phoenix-3.3.1-bin 并试图访问一个已经存在的 hbase tabe,但不能。因此,为了测试,我使用 phoenix 命令行创建了一个表,并在运行 !tables 命令时查看它。但是当我运行 selet 命令时,它显示错误。
这就是我正在做的,我使用的是 mac,hbase-0.94.26。同样的事情也发生在 squirrel-sql 客户端上。
0: jdbc:phoenix:localhost> CREATE TABLE stats.prod_metrics ( host char(50) not null, created_date date not null,
. . . . . . . . . . . . .> txn_count bigint CONSTRAINT pk PRIMARY KEY (host, created_date) );
No rows affected (1.82 seconds)
0: jdbc:phoenix:localhost> !tables
+------------------------------------------+------------------------------------------+------------------------------------------+---------------------------+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE |
+------------------------------------------+------------------------------------------+------------------------------------------+---------------------------+
| | SYSTEM | CATALOG …
Run Code Online (Sandbox Code Playgroud) 我在从任何远程计算机连接Apache Phoenix JDBC客户端(我将sqlline.py用于测试目的)连接到我的Hbase时遇到问题.
我正在测试的方式如下:
我ssh到另一台运行linux的机器,然后尝试连接到我的zookeeper仲裁(目前只有一台机器:christianwith-KP):
hadoopuser@mike-iMac ~/phoenix-4.4.0-HBase-1.0-bin/bin $./sqlline.py christianwirth-KP
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:christianwirth-KP none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:christianwirth-KP
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
15/08/06 14:11:36 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Run Code Online (Sandbox Code Playgroud)
尝试连接命令行后什么也没做,几分钟后我得到了很多java错误信息.
这是来自日志文件zookeeper.out,似乎Zookeeper正在接受来自运行sqlline.py的远程客户端的连接,因为IP地址与我正在尝试连接的远程计算机匹配.
2015-08-06 14:10:37,720 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /192.168.59.148:39731
2015-08-06 14:10:37,721 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@868] - Client …
Run Code Online (Sandbox Code Playgroud) 我想在hbase中更新一个名为EMPLOYEE的表,该表如下所示,并且行键是ID。
ID,Name,Age
"1","John","34"
"2","David","22"
Run Code Online (Sandbox Code Playgroud)
我想在此表中添加另一个名为City的列。我首先使用Apache phoenix执行此命令以更改现有模式。
ALTER TABLE "EMPLOYEE" ADD IF NOT EXISTS "CITY" VARCHAR(40)
Run Code Online (Sandbox Code Playgroud)
该命令成功执行。然后,我尝试插入值。使用以下命令。
UPSERT INTO "EMPLOYEE" ("ID","CITY") VALUES ("1", "London")
Run Code Online (Sandbox Code Playgroud)
但是,每次执行此操作时,都会出现以下错误-
Exception in thread "main" java.sql.SQLException: ERROR 204 (22008): Values in UPSERT must evaluate to a constant.
Run Code Online (Sandbox Code Playgroud)
我在这里所缺少的是什么导致了错误。
嘿,我正在尝试进行查询,我的代码如下所示:
def show(conn, _params) do
user = Guardian.Plug.current_resource(conn)
team = Web.get_team!(user.team.id)
score_query =
from(
u in User,
where: u.team.id == team.id,
select: sum(u.score)
)
team_score = Repo.all(score_query)
IO.puts("score")
IO.inspect(team_score)
conn |> render("team.json", team: team)
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,我收到一条错误消息:
** (Ecto.Query.CompileError) unbound variable `team` in query
Run Code Online (Sandbox Code Playgroud)
但为什么是未绑定的?我该如何修复它以及为什么会发生这种情况?