- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Druid 集群和 Hive/Hadoop 集群单独运行正常。
我们正在 Hive 中创建一个从 Druid 读取数据(用于 ETL)的表,但是,在初始测试中,我们发现我们无法执行简单的 SELECT *
从它后面跟着这个错误:
hive> select * from druid_hive_table;
OK
druid_hive_table.__time druid_hive_table.op_ts druid_hive_table.op_type druid_hive_table.pos druid_hive_table.table
Failed with exception java.io.IOException:org.apache.hive.druid.com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
at [Source: org.apache.hive.druid.com.metamx.http.client.io.AppendableByteArrayInputStream@656c5818; line: -1, column: 4]
Time taken: 0.449 seconds
SELECT COUNT(*)
工作正常!
hive> select count(*) from druid_hive_table;
OK
$f0
21409
Time taken: 0.199 seconds, Fetched: 1 row(s)
SET hive.druid.broker.address.default=<host>:8082;
CREATE EXTERNAL TABLE druid_hive_table
STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler'
TBLPROPERTIES ("druid.datasource" = "druid_datasource_name");
hive> DESCRIBE FORMATTED druid_hive_table;
OK
col_name data_type comment
# col_name data_type comment
__time timestamp from deserializer
op_ts string from deserializer
op_type string from deserializer
pos string from deserializer
table string from deserializer
# Detailed Table Information
Database: tests
Owner: OWNER
CreateTime: Mon Feb 10 13:52:13 UTC 2020
LastAccessTime: UNKNOWN
Retention: 0
Location: <LOCATION>
Table Type: EXTERNAL_TABLE
Table Parameters:
COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
EXTERNAL TRUE
druid.datasource druid_datasource_name
numFiles 0
numRows 0
rawDataSize 0
storage_handler org.apache.hadoop.hive.druid.DruidStorageHandler
totalSize 0
transient_lastDdlTime 1581342733
# Storage Information
SerDe Library: org.apache.hadoop.hive.druid.serde.DruidSerDe
InputFormat: null
OutputFormat: null
Compressed: No
Num Buckets: -1
Bucket Columns: []
Sort Columns: []
Storage Desc Params:
serialization.format 1
Time taken: 0.144 seconds, Fetched: 37 row(s)
{
"dataSchema": {
"dataSource": "druid_datasource_name",
"timestampSpec": {
"column": "current_ts",
"format": "iso",
"missingValue": null
},
"dimensionsSpec": {
"dimensions": [],
"dimensionExclusions": [
"current_ts"
]
},
"metricsSpec": [],
"granularitySpec": {
"type": "uniform",
"segmentGranularity": "HOUR",
"queryGranularity": {
"type": "none"
},
"rollup": false,
"intervals": null
},
"transformSpec": {
"filter": null,
"transforms": []
}
},
"ioConfig": {
"topic": "<kafka_topic>",
"inputFormat": {
"type": "json",
"flattenSpec": {
"useFieldDiscovery": true,
"fields": []
},
"featureSpec": {}
},
"replicas": 1,
"taskCount": 1,
"taskDuration": "PT3600S",
"consumerProperties": {
"bootstrap.servers": "<bootstrap_servers>",
"group.id": "<group_name>",
"security.protocol": "SASL_SSL",
"ssl.truststore.location": "<location>",
"ssl.truststore.password": "<pass>",
"sasl.jaas.config": "<config>",
"sasl.mechanism": "SCRAM-SHA-512"
},
"pollTimeout": 100,
"startDelay": "PT5S",
"period": "PT30S",
"useEarliestOffset": true,
"completionTimeout": "PT1800S",
"lateMessageRejectionPeriod": null,
"earlyMessageRejectionPeriod": null,
"lateMessageRejectionStartDateTime": null,
"stream": "<kafka_topic>",
"useEarliestSequenceNumber": true,
"type": "kafka"
},
"tuningConfig": {
"type": "kafka",
"maxRowsInMemory": 1000000,
"maxBytesInMemory": 0,
"maxRowsPerSegment": 5000000,
"maxTotalRows": null,
"intermediatePersistPeriod": "PT10M",
"basePersistDirectory": "/opt/apache-druid-0.17.0/var/tmp/druid-realtime-persist7801461398656096281",
"maxPendingPersists": 0,
"indexSpec": {
"bitmap": {
"type": "concise"
},
"dimensionCompression": "lz4",
"metricCompression": "lz4",
"longEncoding": "longs"
},
"indexSpecForIntermediatePersists": {
"bitmap": {
"type": "concise"
},
"dimensionCompression": "lz4",
"metricCompression": "lz4",
"longEncoding": "longs"
},
"buildV9Directly": true,
"reportParseExceptions": false,
"handoffConditionTimeout": 0,
"resetOffsetAutomatically": false,
"segmentWriteOutMediumFactory": null,
"workerThreads": null,
"chatThreads": null,
"chatRetries": 8,
"httpTimeout": "PT10S",
"shutdownTimeout": "PT80S",
"offsetFetchPeriod": "PT30S",
"intermediateHandoffPeriod": "P2147483647D",
"logParseExceptions": false,
"maxParseExceptions": 2147483647,
"maxSavedParseExceptions": 0,
"skipSequenceNumberAvailabilityCheck": false,
"repartitionTransitionDuration": "PT120S"
},
"type": "kafka"
}
最佳答案
我已经设法解决了这个问题。
将 Hive 和 Hadoop 更新到版本 3+ 解决了这个问题。
使用以下代码就像在一 block 面包上涂黄油一样简单:
SET hive.druid.broker.address.default=<host>:8082;
CREATE EXTERNAL TABLE druid_hive_table
STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler'
TBLPROPERTIES ("druid.datasource" = "druid_datasource_name");
关于hadoop - 无法从 Hive 外部表上的 Druid 数据源查询数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60153003/
是否可以让 Druid 数据源包含 2 个(或多个)时间戳?我知道 Druid 是基于时间的数据库,我对这个概念没有问题,但我想添加另一个维度,我可以使用它来处理时间戳 例如用户保留:指标肯定是指定到
我们正在对 Druid 进行 POC,以检查它是否适合我们的用例。虽然我们能够摄取数据但不确定以下内容: druid 如何支持无模式输入:假设输入维度由最终用户自行决定。然后这里没有定义的模式。因此,
Druid 如何在将实时摄取的数据移交给深度存储之前保留它? 文档中Druid有intermedatepersistperiod和maxpendingpersists的配置。但它并没有太多说明什么是中
当我将 JSON 摄取规范发送到 Druid 霸主 API 时,我得到以下响应: HTTP/1.1 400 Bad Request Content-Type: application/json Dat
我正在尝试将以下德鲁伊 sql 查询转换为德鲁伊 json 查询,因为我拥有的列之一是多值维度,德鲁伊不支持 sql 样式查询。 我的sql查询: SELECT date_dt, source, ty
例如我有以下 Druid 查询: "filter": { "type": "and", "fields": [ { "type": "selector",
我正在尝试在超过 500k 数据限制的情况下运行 groupBy 查询。我收到此错误。 { "error": "Resource limit exceeded", "errorMess
我使用 Druid 来监控我网站中的事件。 数据可以表示如下: event_id | country | user_id | event_type ==================
我在历史节点上存储了大约 10GB 的数据。但是,该节点的内存消耗约为 2GB。 当我启动一个选择查询时,结果在 30 多秒内第一次返回。接下来,它们排在第二位(因为代理缓存)。 我关心的是将任何查询
我创建了一个架构,并向德鲁伊架构添加了 1TB 数据。然后升级了日志文件版本并添加了新的两列。然后我想将该数据添加到德鲁伊模式。但还不能。 最佳答案 为了向现有数据源添加新列,您需要按照以下步骤操作:
我有分析服务器(例如点击计数器)。我想使用一些 api 向德鲁伊发送数据。我该怎么做?我可以用它代替谷歌分析吗? 最佳答案 正如 se7entyse7en 所说: You can ingest you
我是德鲁伊新手。我想从我的 java 应用程序查询远程 druid 集群。我在 druid-user google group 中读到我们可以使用 io.druid.client.DirectDrui
Apache Druid简介 Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询)。Druid最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运
我似乎在 Druid 网站上找不到任何特定的教程/文档页面,其中列出了 Druid 中所有支持的维度数据类型。从我读了多少,我知道 long, float和 string绝对支持,但我对其他支持的类型
前言 在 上一篇文章 中,我们介绍了弹性数据库连接失效的背景,并探讨了HikariCP连接池探活策略的相关内容。在本文中,我们将会继续探讨另一个线上常用的连接池——Druid,并为您介绍如何在使
Druid是阿里巴巴开发的一个连接池,他提供了一个高效、功能强大、可扩展性好的数据库连接池,区别于hikari。如果选择高性能可以选hikari,如果要功能多就选,druid。 首先pom引入依赖
目录 Pom 依赖 yml 配置 Config 配置 Mapper扫描 Entity Mapper.xml Mapper - SysMenuMapper
我们如何在德鲁伊中写 sum(distinct col) ?如果我尝试用德鲁伊编写,它说无法构建计划,但在德鲁伊中也是可能的。我尝试转换为子查询方法,但我的内部查询返回大量项目级数据,因此超时。 最佳
我正在使用 imply 来处理德鲁伊的集群。但是我的日志文件已增加到数百 GB 的存储空间。我说的是存在于 imply/var/sv/目录中的日志文件,其中有这 7 个日志文件,broker.log、
通过遵循 http://druid.io/docs/latest/tutorials/tutorial-loading-streaming-data.html 的教程,我能够通过 Kafka 控制台将
我是一名优秀的程序员,十分优秀!