Russ Xia Blog

身处寒夜,把握星光。

Hive中遇到过的问题

Hive中遇到过的问题

一、MR任务在Shuffle过程时报错 Ended Job = job_1556157715460_0029 with errors Error during job, obtaining debugging information... Examining task ID: task_1556157715460_0029_m_000000 (and more) from job job_1...

数据仓库中的数据分层

为什么要分层以及如何分层

为什么需要数据分层? 分层最主要的目的还是为了更好的管理和使用数据。具体来讲的话,还分为以下原因: 高效:多层次的数据模型,可以避免直接使用操作性数据 减少重复开发,易维护:能缩短获取信息的时间,清晰的分层,也使得维护变得更容易。 易于分解问题:每一层只关注本层的职能,比较简单和容易理解,也便于维护数据的准确性。 如何分层 一般分层为:ODS/[DWD]-[-MID]-DW...

Hive-QL的查询调优

HQL的EXPAIN

EXPLAIN 官方wiki地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Explain explain命令的输出包括两个部分,STAGE DEPENDENCIES 和 STAGE PLANS 。其中 ABSTRACT SYNTAX TREE 在2.1.0中已经被移除了,并打算作为 explain ast...

Hive-QL中的查询

Hive-QL中的JOIN查询、子查询以及order by、sort by、distirbute by、cluster by等

Join 在大多数SQL中,会先执行join操作,然后再将结果通过where语句进行过滤。 例如,select s.ymd,s.symbol,s.price_close,d.dividend from stocks s left join dividends d on s.ymd=d.ymd and s.symbol=d.symbol where s.symbol='APPL' and ...

Elasticsearch中遇到的问题汇总

Elasticsearch中遇到的问题汇总

一、聚合操作时,报Fielddata is disabled on text fields by default. 报错操作 GET /megacorp/employee/_search { "aggs": { "all_interests": { "terms": {"field": "interests" } } } } 错误reponse: { ...

Elasticsearch中的并发控制

常见的并发控制方法:乐观/悲观并发控制,Elasticsearch中的乐观并发控制

数据库领域常见的并发控制 悲观并发控制 假定冲突发生概率很高,在读取一行数据前,先锁定这一行,这样就可以确保只有读取到这行数据的线程可以修改这一行数据。 乐观并发控制 这也是ES所使用的。假设冲突发生概率不高,也不会去阻止某一数据的访问。然而,如果基础数据在我们读取和写入的间隔中发生了变化,更新就会失败。这时候就由程序来决定如何处理这个冲突。例如,它可以重新读取新数据来进行更新,又...

Elasticsearch中的document

document的读写策略

Reading and Writing documents 在es中每个索引都会被分成几个分片(shard),每个分片又会有几个副本(replication)。在删除、新增、更新文档时,必须同步到各个副本,否则从各个副本中读取的数据就会不一致。我们把保持分片副本间的同步和提供数据读取称之为”data replication model”。 es中的 data replication mod...

Elasticsearch的基本概念和安装

Elasticsearch的特点、集群和安装

基本概念 官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-concepts.html#_index 基于elasticsearch-6.7.0版本 接近实时(near-realtime) Elasticsearch是一个接近实时的搜索平台。Elasticsearc...

Elasticsearch中常用的API

Elasticsearch中常用的API

查看集群健康 查看集群信息,检查集群健康, GET /_cat/health 响应信息: epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 155...

Flink的编程模型

Flink的编程模型和基本术语含义

官方资料: https://ci.apache.org/projects/flink/flink-docs-release-1.7/concepts/programming-model.html 四种不同级别的抽象 Flink提供了4种不同级别的抽象,以供开发流/批处理应用。 最底层的抽象简单提供了有状态的流(stateful streaming)。通过Process方...