最近学习的DATA URIS

1.URI是什么?

URI是uniform resource locator的简写,是一系列如何获得数据的协议。在一般的情况下,如果我们需要在HTML页面加入一个链接资源,如CSS、JavaScript文件或一个Image文件,其URL属性会告诉游览器去哪里下载这些文件,然后游览器会请求链接,然后下载这些文件。

为什么要说URL呢?不但是它们很像(我第一眼就把URI看成URL了),而且URL其实也是一种URI,URI是一种通过一定的信息来获得资源的协议,当这种信息为一个URL地址时,URI就表现为URL,但是今天讨论的主要不是这些。

 

2.怎么用?

URI的数据格式很简单,通过RFC 2397的定义,一般格式是:

data:[<mime type>][;charset=<charset>][;base64],<encoded data>

 

说明:data - 指代URI协议

        mime type - 代表数据类型,如png图片则为image/png,若不说明,默认为text/plain

        charset - 如果不使用base64,则使用charset指定的字符类(有关base64的信息:http://en.wikipedia.org/wiki/Base64)

        encoded data - 对应的编码信息

 

示例:12K JPG图片

<img src="https://img-blog.csdnimg.cn/2022010703010014709.pjpeg" alt="180.jpg"/>

 

URI data在线转换地址:http://www.abluestar.com/utilities/encode_base64/index.php

 

3.浏览器支持

   Firefox 2+

   Opera 7.2+(数据不能长于4100 characters)

   Chrome (所有版本)

   Safari (所有版本)

   Internet Explorer 8+(数据必须小于32k)

 

4.我们关注的性能(来自秦歌)

       优点:

       1.减少HTTP请求数,没有了TCP连接消耗和同一域名下浏览器的并发数限制。

       2.对于小文件会降低带宽。虽然编码后数据量会增加,但是却减少了http头,当http头的数据量大于文件编码的增量,

          那么就会降低带宽。

       3.对于HTTPS站点,HTTPS和HTTP混用会有安全提示,而HTTPS相对于HTTP来讲开销要大更多,所以Data URI在

          这方面的优势更明显。

       4.可以把整个多媒体页面保存为一个文件。

       缺点:

      1.无法被重复利用,同一个文档应用多次同一个内容,则需要重复多次,数据量大量增加,增加了下载时间。

      2.无法被独自缓存,所以其包含文档重新加载时,它也要重新加载。

      3.客户端需要重新解码和显示,增加了点消耗。

      4.不支持数据压缩,base64编码会增加1/3大小,而urlencode后数据量会增加更多。

      5.不利于安全软件的过滤,同时也存在一定的安全隐患。

转载于:https://www.cnblogs.com/return/archive/2009/11/23/1608956.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `hive.metastore.uris` 是 Hive 元数据存储的地址。它指定了 Hive 元数据服务的 URI 地址,包括 Hive 元数据存储服务的主机名和端口号。当使用 Hive 命令行界面或编程语言连接到 Hive 服务器时,需要指定此属性。它的值应该是一个以逗号分隔的 URI 列表,例如: ``` hive.metastore.uris=thrift://metastore_host:9083 ``` 这里的 `metastore_host` 是 Hive 元数据存储服务的主机名,`9083` 是 Hive 元数据存储服务的端口号。 ### 回答2: hive.metastore.uris是Hive中与元数据存储相关联的配置参数。元数据存储用于存储了有关表、列、分区等元数据信息。这些信息被hive使用来定位数据并执行查询和数据操作。Hive提供两种元数据存储:基于关系型数据库的Hive元存储和基于NoSQL数据库的Hive-on-Spark元存储。 hive.metastore.uris参数用于指定Hive使用哪种元数据存储,以便管理元数据。此参数指定了Hive将连接的外部元数据存储的URI。当使用关系型数据库时,URI将包含数据库连接字符串以及数据库的名称,表名等。在使用Hive-on-Spark元存储时,URI将包含用于连接存储的Spark Master URI。 通过指定hive.metastore.uris,可以为所有Hive实例提供共享元数据存储。这样,Hive实例可以访问和共享这些元数据,而不用重新定义和重新注册新的表等。同时,使用此参数还可以使用户实现Hive的高可用性。当Hive集群中的一个元数据存储失效时,其他可用的元数据存储可以用来继续处理查询和数据操作。 使用hive.metastore.uris时,需要确保所有Hive实例都指向同一元数据存储,否则不同实例之间进行查询时可能会遇到元数据不一致的错误。用户还应该注意,与元数据存储相关的配置参数需要根据使用的元数据存储类型进行配置,以保证Hive能够有效访问和处理元数据。 总的来说,hive.metastore.uris是Hive中至关重要的元数据配置参数,它可以帮助用户实现元数据存储的共享和高可用性,同时还可以提高查询和数据处理的效率和准确性。 ### 回答3: hive.metastore.uris是Apache Hive中的一个属性,用于指定Hive元数据仓库的位置。元数据是描述Hive表、分区和列的数据结构,包括数据库名称、表名称、列名称、数据类型、分区信息、表位置和表大小等。 Hive元数据可以存储在不同的位置,包括MySQL数据库、PostgreSQL数据库、Oracle数据库、SQL Server数据库、Derby数据库、Hadoop HBase和本地文件系统等。而hive.metastore.uris属性就是用来指定Hive元数据存储在哪个位置。 hive.metastore.uris属性的值是一个逗号分隔的URI列表,每个URI可以是一个连接到数据库的URL,也可以是连接到HBase表的URI。例如: hive.metastore.uris=thrift://localhost:9083 表示Hive元数据存储在本地的Hive Metastore中,使用Thrift协议连接到端口号为9083的Hive Metastore服务。 hive.metastore.uris属性的另一个常见用途是配置Hive与不同的Hadoop集群实例进行通信。通过设置不同的URI,可以让Hive连接到不同的集群实例,并将作业提交到不同的集群中。 总之,hive.metastore.uris属性在Hive中具有重要作用,它不仅指定了元数据仓库的位置,还可以帮助Hive与其他系统进行集成,为分析数据提供更为灵活的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值