当前位置: 首页 > news >正文

教育网站建设公司推荐广州手机网站定制

教育网站建设公司,推荐广州手机网站定制,免费推广网站入口2023燕,河南生产型企业网站建设文章目录 Hive集成表引擎创建表使用示例如何使用HDFS文件系统的本地缓存查询 ORC 输入格式的Hive 表在 Hive 中建表在 ClickHouse 中建表 查询 Parquest 输入格式的Hive 表在 Hive 中建表在 ClickHouse 中建表 查询文本输入格式的Hive表在Hive 中建表在 ClickHouse 中建表 资料…

文章目录

  • Hive集成表引擎
    • 创建表
    • 使用示例
      • 如何使用HDFS文件系统的本地缓存
      • 查询 ORC 输入格式的Hive 表
        • 在 Hive 中建表
        • 在 ClickHouse 中建表
      • 查询 Parquest 输入格式的Hive 表
        • 在 Hive 中建表
        • 在 ClickHouse 中建表
      • 查询文本输入格式的Hive表
        • 在Hive 中建表
        • 在 ClickHouse 中建表
  • 资料分享
  • 参考文章

Hive集成表引擎

Hive引擎允许对HDFS Hive表执行 SELECT 查询。目前它支持如下输入格式:

-文本:只支持简单的标量列类型,除了 Binary

  • ORC:支持简单的标量列类型,除了char; 只支持 array 这样的复杂类型

  • Parquet:支持所有简单标量列类型;只支持 array 这样的复杂类型

创建表

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(name1 [type1] [ALIAS expr1],name2 [type2] [ALIAS expr2],...
) ENGINE = Hive('thrift://host:port', 'database', 'table');
PARTITION BY expr

表的结构可以与原来的Hive表结构有所不同:

  • 列名应该与原来的Hive表相同,但你可以使用这些列中的一些,并以任何顺序,你也可以使用一些从其他列计算的别名列。
  • 列类型与原Hive表的列类型保持一致。
  • “Partition by expression”应与原Hive表保持一致,“Partition by expression”中的列应在表结构中。

引擎参数

  • thrift://host:port — Hive Metastore 地址

  • database — 远程数据库名.

  • table — 远程数据表名.

使用示例

如何使用HDFS文件系统的本地缓存

我们强烈建议您为远程文件系统启用本地缓存。基准测试显示,如果使用缓存,它的速度会快两倍。

在使用缓存之前,请将其添加到 config.xml

<local_cache_for_remote_fs><enable>true</enable><root_dir>local_cache</root_dir><limit_size>559096952</limit_size><bytes_read_before_flush>1048576</bytes_read_before_flush>
</local_cache_for_remote_fs>
  • enable: 开启后,ClickHouse将为HDFS (远程文件系统)维护本地缓存。
  • root_dir: 必需的。用于存储远程文件系统的本地缓存文件的根目录。
  • limit_size: 必需的。本地缓存文件的最大大小(单位为字节)。
  • bytes_read_before_flush: 从远程文件系统下载文件时,刷新到本地文件系统前的控制字节数。缺省值为1MB。

当ClickHouse为远程文件系统启用了本地缓存时,用户仍然可以选择不使用缓存,并在查询中设置 use_local_cache_for_remote_storage = 0, use_local_cache_for_remote_storage 默认为 1

查询 ORC 输入格式的Hive 表

在 Hive 中建表
hive > CREATE TABLE `test`.`test_orc`(`f_tinyint` tinyint, `f_smallint` smallint, `f_int` int, `f_integer` int, `f_bigint` bigint, `f_float` float, `f_double` double, `f_decimal` decimal(10,0), `f_timestamp` timestamp, `f_date` date, `f_string` string, `f_varchar` varchar(100), `f_bool` boolean, `f_binary` binary, `f_array_int` array<int>, `f_array_string` array<string>, `f_array_float` array<float>, `f_array_array_int` array<array<int>>, `f_array_array_string` array<array<string>>, `f_array_array_float` array<array<float>>)
PARTITIONED BY ( `day` string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' 
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
LOCATION'hdfs://testcluster/data/hive/test.db/test_orc'OK
Time taken: 0.51 secondshive > insert into test.test_orc partition(day='2021-09-18') select 1, 2, 3, 4, 5, 6.11, 7.22, 8.333, current_timestamp(), current_date(), 'hello world', 'hello world', 'hello world', true, 'hello world', array(1, 2, 3), array('hello world', 'hello world'), array(float(1.1), float(1.2)), array(array(1, 2), array(3, 4)), array(array('a', 'b'), array('c', 'd')), array(array(float(1.11), float(2.22)), array(float(3.33), float(4.44)));
OK
Time taken: 36.025 secondshive > select * from test.test_orc;
OK
1   2   3   4   5   6.11    7.22    8   2021-11-05 12:38:16.314 2021-11-05  hello world hello world hello world                                                                                             true    hello world [1,2,3] ["hello world","hello world"]   [1.1,1.2]   [[1,2],[3,4]]   [["a","b"],["c","d"]]   [[1.11,2.22],[3.33,4.44]]   2021-09-18
Time taken: 0.295 seconds, Fetched: 1 row(s)
在 ClickHouse 中建表

ClickHouse中的表,从上面创建的Hive表中获取数据:

CREATE TABLE test.test_orc
(`f_tinyint` Int8,`f_smallint` Int16,`f_int` Int32,`f_integer` Int32,`f_bigint` Int64,`f_float` Float32,`f_double` Float64,`f_decimal` Float64,`f_timestamp` DateTime,`f_date` Date,`f_string` String,`f_varchar` String,`f_bool` Bool,`f_binary` String,`f_array_int` Array(Int32),`f_array_string` Array(String),`f_array_float` Array(Float32),`f_array_array_int` Array(Array(Int32)),`f_array_array_string` Array(Array(String)),`f_array_array_float` Array(Array(Float32)),`day` String
)
ENGINE = Hive('thrift://localhost:9083', 'test', 'test_orc')
PARTITION BY day
SELECT * FROM test.test_orc settings input_format_orc_allow_missing_columns = 1\G
SELECT *
FROM test.test_orc
SETTINGS input_format_orc_allow_missing_columns = 1Query id: c3eaffdc-78ab-43cd-96a4-4acc5b480658Row 1:
──────
f_tinyint:            1
f_smallint:           2
f_int:                3
f_integer:            4
f_bigint:             5
f_float:              6.11
f_double:             7.22
f_decimal:            8
f_timestamp:          2021-12-04 04:00:44
f_date:               2021-12-03
f_string:             hello world
f_varchar:            hello world
f_bool:               true
f_binary:             hello world
f_array_int:          [1,2,3]
f_array_string:       ['hello world','hello world']
f_array_float:        [1.1,1.2]
f_array_array_int:    [[1,2],[3,4]]
f_array_array_string: [['a','b'],['c','d']]
f_array_array_float:  [[1.11,2.22],[3.33,4.44]]
day:                  2021-09-181 rows in set. Elapsed: 0.078 sec. 

查询 Parquest 输入格式的Hive 表

在 Hive 中建表
hive >
CREATE TABLE `test`.`test_parquet`(`f_tinyint` tinyint, `f_smallint` smallint, `f_int` int, `f_integer` int, `f_bigint` bigint, `f_float` float, `f_double` double, `f_decimal` decimal(10,0), `f_timestamp` timestamp, `f_date` date, `f_string` string, `f_varchar` varchar(100), `f_char` char(100), `f_bool` boolean, `f_binary` binary, `f_array_int` array<int>, `f_array_string` array<string>, `f_array_float` array<float>, `f_array_array_int` array<array<int>>, `f_array_array_string` array<array<string>>, `f_array_array_float` array<array<float>>)
PARTITIONED BY ( `day` string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION'hdfs://testcluster/data/hive/test.db/test_parquet'
OK
Time taken: 0.51 secondshive >  insert into test.test_parquet partition(day='2021-09-18') select 1, 2, 3, 4, 5, 6.11, 7.22, 8.333, current_timestamp(), current_date(), 'hello world', 'hello world', 'hello world', true, 'hello world', array(1, 2, 3), array('hello world', 'hello world'), array(float(1.1), float(1.2)), array(array(1, 2), array(3, 4)), array(array('a', 'b'), array('c', 'd')), array(array(float(1.11), float(2.22)), array(float(3.33), float(4.44)));
OK
Time taken: 36.025 secondshive > select * from test.test_parquet;
OK
1   2   3   4   5   6.11    7.22    8   2021-12-14 17:54:56.743 2021-12-14  hello world hello world hello world                                                                                             true    hello world [1,2,3] ["hello world","hello world"]   [1.1,1.2]   [[1,2],[3,4]]   [["a","b"],["c","d"]]   [[1.11,2.22],[3.33,4.44]]   2021-09-18
Time taken: 0.766 seconds, Fetched: 1 row(s)
在 ClickHouse 中建表

ClickHouse 中的表, 从上面创建的Hive表中获取数据:

CREATE TABLE test.test_parquet
(`f_tinyint` Int8,`f_smallint` Int16,`f_int` Int32,`f_integer` Int32,`f_bigint` Int64,`f_float` Float32,`f_double` Float64,`f_decimal` Float64,`f_timestamp` DateTime,`f_date` Date,`f_string` String,`f_varchar` String,`f_char` String,`f_bool` Bool,`f_binary` String,`f_array_int` Array(Int32),`f_array_string` Array(String),`f_array_float` Array(Float32),`f_array_array_int` Array(Array(Int32)),`f_array_array_string` Array(Array(String)),`f_array_array_float` Array(Array(Float32)),`day` String
)
ENGINE = Hive('thrift://localhost:9083', 'test', 'test_parquet')
PARTITION BY day
SELECT * FROM test.test_parquet settings input_format_parquet_allow_missing_columns = 1\G
SELECT *
FROM test_parquet
SETTINGS input_format_parquet_allow_missing_columns = 1Query id: 4e35cf02-c7b2-430d-9b81-16f438e5fca9Row 1:
──────
f_tinyint:            1
f_smallint:           2
f_int:                3
f_integer:            4
f_bigint:             5
f_float:              6.11
f_double:             7.22
f_decimal:            8
f_timestamp:          2021-12-14 17:54:56
f_date:               2021-12-14
f_string:             hello world
f_varchar:            hello world
f_char:               hello world
f_bool:               true
f_binary:             hello world
f_array_int:          [1,2,3]
f_array_string:       ['hello world','hello world']
f_array_float:        [1.1,1.2]
f_array_array_int:    [[1,2],[3,4]]
f_array_array_string: [['a','b'],['c','d']]
f_array_array_float:  [[1.11,2.22],[3.33,4.44]]
day:                  2021-09-181 rows in set. Elapsed: 0.357 sec. 

查询文本输入格式的Hive表

在Hive 中建表
hive >
CREATE TABLE `test`.`test_text`(`f_tinyint` tinyint, `f_smallint` smallint, `f_int` int, `f_integer` int, `f_bigint` bigint, `f_float` float, `f_double` double, `f_decimal` decimal(10,0), `f_timestamp` timestamp, `f_date` date, `f_string` string, `f_varchar` varchar(100), `f_char` char(100), `f_bool` boolean, `f_binary` binary, `f_array_int` array<int>, `f_array_string` array<string>, `f_array_float` array<float>, `f_array_array_int` array<array<int>>, `f_array_array_string` array<array<string>>, `f_array_array_float` array<array<float>>)
PARTITIONED BY ( `day` string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 
STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION'hdfs://testcluster/data/hive/test.db/test_text'
Time taken: 0.1 seconds, Fetched: 34 row(s)hive >  insert into test.test_text partition(day='2021-09-18') select 1, 2, 3, 4, 5, 6.11, 7.22, 8.333, current_timestamp(), current_date(), 'hello world', 'hello world', 'hello world', true, 'hello world', array(1, 2, 3), array('hello world', 'hello world'), array(float(1.1), float(1.2)), array(array(1, 2), array(3, 4)), array(array('a', 'b'), array('c', 'd')), array(array(float(1.11), float(2.22)), array(float(3.33), float(4.44)));
OK
Time taken: 36.025 secondshive > select * from test.test_text;
OK
1   2   3   4   5   6.11    7.22    8   2021-12-14 18:11:17.239 2021-12-14  hello world hello world hello world                                                                                             true    hello world [1,2,3] ["hello world","hello world"]   [1.1,1.2]   [[1,2],[3,4]]   [["a","b"],["c","d"]]   [[1.11,2.22],[3.33,4.44]]   2021-09-18
Time taken: 0.624 seconds, Fetched: 1 row(s)
在 ClickHouse 中建表

ClickHouse中的表, 从上面创建的Hive表中获取数据:

CREATE TABLE test.test_text
(`f_tinyint` Int8,`f_smallint` Int16,`f_int` Int32,`f_integer` Int32,`f_bigint` Int64,`f_float` Float32,`f_double` Float64,`f_decimal` Float64,`f_timestamp` DateTime,`f_date` Date,`f_string` String,`f_varchar` String,`f_char` String,`f_bool` Bool,`day` String
)
ENGINE = Hive('thrift://localhost:9083', 'test', 'test_text')
PARTITION BY day 
SELECT * FROM test.test_text settings input_format_skip_unknown_fields = 1, input_format_with_names_use_header = 1, date_time_input_format = 'best_effort'\G
SELECT *
FROM test.test_text
SETTINGS input_format_skip_unknown_fields = 1, input_format_with_names_use_header = 1, date_time_input_format = 'best_effort'Query id: 55b79d35-56de-45b9-8be6-57282fbf1f44Row 1:
──────
f_tinyint:   1
f_smallint:  2
f_int:       3
f_integer:   4
f_bigint:    5
f_float:     6.11
f_double:    7.22
f_decimal:   8
f_timestamp: 2021-12-14 18:11:17
f_date:      2021-12-14
f_string:    hello world
f_varchar:   hello world
f_char:      hello world
f_bool:      true
day:         2021-09-18

资料分享

ClickHouse经典中文文档分享

参考文章

  • ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
  • ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
  • ClickHouse(03)ClickHouse怎么安装和部署
  • ClickHouse(04)如何搭建ClickHouse集群
  • ClickHouse(05)ClickHouse数据类型详解
  • ClickHouse(06)ClickHouse建表语句DDL详细解析
  • ClickHouse(07)ClickHouse数据库引擎解析
  • ClickHouse(08)ClickHouse表引擎概况
  • ClickHouse(09)ClickHouse合并树MergeTree家族表引擎之MergeTree详细解析
  • ClickHouse(10)ClickHouse合并树MergeTree家族表引擎之ReplacingMergeTree详细解析
  • ClickHouse(11)ClickHouse合并树MergeTree家族表引擎之SummingMergeTree详细解析
  • ClickHouse(12)ClickHouse合并树MergeTree家族表引擎之AggregatingMergeTree详细解析
  • ClickHouse(13)ClickHouse合并树MergeTree家族表引擎之CollapsingMergeTree详细解析
  • ClickHouse(14)ClickHouse合并树MergeTree家族表引擎之VersionedCollapsingMergeTree详细解析
  • ClickHouse(15)ClickHouse合并树MergeTree家族表引擎之GraphiteMergeTree详细解析
  • ClickHouse(16)ClickHouse日志引擎Log详细解析
  • ClickHouse(17)ClickHouse集成JDBC表引擎详细解析
  • ClickHouse(18)ClickHouse集成ODBC表引擎详细解析
http://www.yayakq.cn/news/558894/

相关文章:

  • 微信小程序联盟网站怎么用 c文件做网站
  • 介绍自己做衣服的网站如何使用电子商务网站
  • 企业网站备案条件网页字体尺寸设计
  • 做h5那个网站模板好男性早些泄吃什么药可以根治
  • 机械网站精选开发一个微信小程序价格
  • 网站开发外包维护合同广西高端网站建设
  • 有个人免费网站吗企业 官网
  • 郑州市经开区建设局网站孟村县网站建设公司
  • 做网站的好项目qq手机版
  • 软件网站开发平台建筑工程与土木工程区别
  • 学会网站开发有什么好处wordpress国外主题改版权
  • 常德网站优化哪家好wordpress 推广返利
  • 青岛网站建设模板下载一个完整的电商网站开发周期
  • 河北石家庄网站成都专业建设网站
  • 响应式网站是做列表网站的首页面设计
  • 中国外贸网站排名如何建设网站简答题
  • 广州专业的做网站福州网站建设外包
  • 广东省建设教育协会官方网站股票大宗交易平台
  • 网站空间管理小型企业的网站建设论文
  • 免费网站服务器加强校园网站建设
  • wordpress网站模板网站后台设置应注意什么
  • 合肥网页设计多少钱贵阳网站建设seo公众号开发
  • 银川网站制作杭州建设工程招标网新址
  • 新手怎么做网站建立网站
  • 正规做兼职的网站手机网站免费建站
  • 龙江建网站北京官网seo推广
  • 南京最好的网站设计公司哈尔滨百姓网
  • 网站制作中企动力公司鞍钢节能公司网站开发
  • 自己制作网站的步骤腾讯邮箱企业邮箱网页版
  • 住房和城乡建设部办公厅网站合肥专业做网站的公司