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

电力建设网站宏润建设集团有限公司网站

电力建设网站,宏润建设集团有限公司网站,网站建设实践收获,哪里网站建设目录 hive是否执行mr 创建数据库指定目录 删除数据库 显示表信息/表结构 查看表示内部表还是外部表 拷贝一张已经存在的表的表模式#xff08;而无需拷贝数据#xff09; 复制一张表#xff08;包括数据#xff09; hive-cli 显示当前所在数据库 执行命令不进入hiv…目录 hive是否执行mr 创建数据库指定目录 删除数据库 显示表信息/表结构 查看表示内部表还是外部表  拷贝一张已经存在的表的表模式而无需拷贝数据 复制一张表包括数据 hive-cli 显示当前所在数据库 执行命令不进入hive交互模式 hive关联hbase表 创建外部表 查询数据保存到linux系统 创建内部表 创建parquet格式snappy压缩表 外部执行 清空表中所有行数据 导入数据 1.将文件放入表目录下 2.导入本地文件直接导入表中 3.导入hdfs上数据到表中 4.从别的表中查询插入相应的表 5.在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中 UDF Hive执行引擎设置 Hive指定yarn队列 多表插入 Hive手动创建目录导入数据表刷新partition hive是否执行mr 简单的查询就是只是select不带count,sum,group by这样的都不走map/reduce直接读取hdfs文件进行filter过滤。这样做的好处就是不新开mr任务执行效率要提高不少但是不好的地方就是用户界面不友好有时候数据量大还是要等很长时间但是又没有任何返回。 改这个很简单在hive-site.xml里面有个配置参数叫 hive.fetch.task.conversion 将这个参数设置为more简单查询就不走map/reduce了设置为minimal就任何简单select都会走map/reduce创建数据库指定目录 hive CREATE DATABASE financials LOCATION /my/preferred/directory COMMENT Holds all financial tables 删除数据库 hive DROP DATABASE IF EXISTS financialsIF EXISTS子句是可选的如果加了这个子句就可以避免因数据库finanacials不存在而抛出警告信息默认情况下Hive是不允许用户删除一个包含有表的数据库的。用户要么先删除数据库中的表然后再删除数据库要么在删除命令的最后面加上关键字CASCADE这样可以使Hive自行先删除数据库中的表hive DROP DATABASE IF EXISTS financials CASCADE 显示表信息/表结构 hive DESCRIBE FORMATTED mydb.tableNameFORMATTED 详细表结构 查看表示内部表还是外部表  hive DESCRIBE extended crawler_hive2; 内部表 tableType:MANAGED_TABLE 外部表ableType:EXTERNAL_TABLE 拷贝一张已经存在的表的表模式而无需拷贝数据 CREATE TABLE IF NOT EXISTS mydb.employees2 LIKE mydb.employees LOCATION xxxx/xxx/xxx 复制一张表包括数据 create table t_copy as select * from t_temp; hive-cli 显示当前所在数据库 hive set hive.cli.print.current.dbtrue; hive (ods_database)取消显示 set hive.cli.print.current.dbfalse; 执行命令不进入hive交互模式 hive -e SQL 执行单条语句 hive -f /home/root/insert.sql 执行sql文件适合多条语句hive关联hbase表 hive集成hbase hive 0.13版本 hbase1.2.5版本无法创建hive创建内部表关联提示找不到方法hive更新到2.1.1版本就可以了 hive创建外部表关联可以关联hbase已有的表CREATE EXTERNAL TABLE hive_high_keyword(key string, keyword string, adCode string) STORED BY org.apache.hadoop.hive.hbase.HBaseStorageHandler WITH SERDEPROPERTIES ( hbase.columns.mapping:key,fn:keyword,fn:adCode )TBLPROPERTIES(hbase.table.name crawl:high_keyword);hive创建内部表关联只能关联hbase中没有的表删除hive表后hbase表也会删除并且通过hive创建hbase的内部表存储数据仍然存在hbse中 CREATE TABLE biz0728(key string, name string) STORED BY org.apache.hadoop.hive.hbase.HBaseStorageHandler WITH SERDEPROPERTIES ( hbase.columns.mapping:key,fn:name ) TBLPROPERTIES(hbase.table.name biz0728); 创建外部表 create EXTERNAL TABLE u_info (usrid STRING,age STRING,sex STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY \tLINES TERMINATED BY \n; 查询数据保存到linux系统 insert overwrite local directory /home/xxx/xxx select * from tableName; 创建内部表 create TABLE u_info (usrid STRING,age STRING,sex STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY \tLINES TERMINATED BY \n; 创建parquet格式snappy压缩表 CREATE EXTERNAL TABLE IF NOT EXISTS tableName(xxx string) partitioned by (pt_xvc string) ROW FORMAT DELIMITED FIELDS TERMINATED BY \001 STORED AS PARQUET TBLPROPERTIES(parquet.compressionSNAPPY); 外部执行 hive -f xxx.sql 清空表中所有行数据 truncate table tablename;导入数据 1.将文件放入表目录下 表创建时会指定列分隔符(默认\t)和行分隔符(默认\n)将数据以指定形式放入,hive在hdfs存储目录下 测试导入数据如下a.txt里内容 user1 27 1 user2 28 1 user3 29 0 user4 30 1 user5 31 0 user6 32 1 user7 33 1 user8 34 0 我 是 测试 外 部 表步骤 用上面创建表命令创建一个内部或者外部表将a.txt里的内容导入到hdfs该表的目录下select * from u_info;即可查询到数据如果有两个txt查询时会合并到一起 2.导入本地文件直接导入表中 测试导入数据a.txt load data local inpath a.txt into table u_info;a.txt,文件路径默认是用户的根目录如root用户读取目录为/home/root/a.txt推荐写绝对路径 load data local inpath /home/root/a.txt into table u_info;在hive中可以直接查看hdfs上的数据使用命令 dfs -ls /user/hive/warehouse/xxx ;3.导入hdfs上数据到表中 测试导入数据a.txt load data inpath /a.txt into table u_info;与2中的区别是少了一个 local 4.从别的表中查询插入相应的表 创建表 test 并且以age进行分区 create table testc( id int, name string ,tel string,sdf string) partitioned by (age int) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t STORED AS TEXTFILE;查询另一个表的数据并且插入到test表 insert into table test partition (age25) select id, name, tel from wyp;这里做一下说明 我们知道我们传统数据块的形式insert into table values字段1字段2这种形式hive是不支持的。 我们也可以在select语句里面通过使用分区值来动态指明分区 set hive.exec.dynamic.partition.modenonstrict; insert into table test partition (age) select id, name, tel, age from wyp;// partition (age)指定创建表时候的列 // partition跟select 中查询的列名无关对应select查询最后一个列为test表中的age做partitiondescribe tablename 可以查看partition在哪个位置 这种方法叫做动态分区插入但是Hive中默认是关闭的所以在使用前需要先把hive.exec.dynamic.partition.mode设置为nonstrict 5.在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中 在实际情况中表的输出结果可能太多不适于显示在控制台上这时候将Hive的查询输出结果直接存在一个新的表中是非常方便的我们称这种情况为CTAScreate table .. as select如下 create table test4 as select id, name, tel from wyp;UDF UDFClass public class Uppercase extends UDF { //参数列表可以使用多个参数public Text evaluate(Text s1){String retsults1.toString().toUpperCase();return new Text(retsult);} }maven引用 dependencygroupIdorg.apache.hadoop/groupIdartifactIdhadoop-common/artifactIdversion2.7.1/version/dependencydependencygroupIdorg.apache.hive/groupIdartifactIdhive-exec/artifactIdversion1.2.1/version/dependency在hive交互界面输入 //添加自己写入的jar包到hive中 add jar /home/root/udf.jar; // 将自己写的类创建为函数函数名为mytest create temporary function mytest as com.xxx.hive.udf.Uppercase; //查看所有可用函数会发现自己刚刚添加的函数 show functions; //使用udf函数查询 select mytest(u_info.age) from u_info;使用函数查询后结果 704512 BJ-华龙达 北京市华龙达商贸公司 2457600 NNZQD 南宁市百花谷文化传播有限公司 21889024 LYYZCY.COM ztc 7979008 GX303YY200XLWW014 中国人民解放军第三0三医院不使用函数结果 704512 bj-华龙达 北京市华龙达商贸公司 2457600 nnzqd 南宁市百花谷文化传播有限公司 21889024 lyyzcy.com ztc 7979008 gx303yy200xlww014 中国人民解放军第三0三医院使用hive -i 参数在进入hive时自动初始化 $ cat hive_init add jar /home/root/udf.jar; create temporary function mytest as com.xxx.hive.udf.Uppercase; $ hive -i hive_init //进入hive交互界面就可直接使用函数了和前两者相比第三种方式直接将用户的自定义函数作为注册为内置函数未来使用起来非常简单但这种方式也非常危险一旦出错将是灾难性的因此建议如果不是特别通用并且固化下来的函数还是使用前两种方式比较靠谱。 Hive执行引擎设置 set hive.execution.enginemr; Hive指定yarn队列 set mapred.job.queue.namequeue3;多表插入 FROM tableName1 INSERT OVERWRITE TABLE tableName2SELECT column1,colum2 GROUP BY year INSERT OVERWRITE TABLE tableName3SELECT column1,count(1)WHERE column2 100CTAS(CREATE TABLE... AS SELECT) 把查询到的结果创建一个新表保存起来原子性操作查询失败表不会被创建 CREATE TABLE tableName AS SELECT column1,column2 FROM tableName2 Hive手动创建目录导入数据表刷新partition alter table crawler_other_article_hive add partition(created_date201801) location hdfs://xxx:8020/user/hive/warehouse/ods_crawler.db/crawler_other_article_hive/created_date201801;删除表分区 ALTER TABLE testc DROP PARTITION (pt_date20181212)
http://www.zqtcl.cn/news/956478/

相关文章:

  • wordpress站群教程市场营销培训课程
  • 17网站一起做网店白沟简单网页制作图片
  • 网站建设项目需求分析流程做商业地产的网站
  • 百度建站商业网点的定义
  • 古镇建设网站经济研究院网站建设方案
  • 会员网站开发百度自己的宣传广告
  • 重庆网络推广网站推广自己设计图纸的软件
  • 国内免费的短视频素材网站什么网站做博客好
  • 个体户网站建设wordpress修改作者链接
  • 做企业网站怎么样如何做网站的登录注册
  • 网站建设中标怎么做网站文字图片
  • 济南网站推广徽hyhyk1公司展示网站模板
  • ae免费模板下载网站视频网站数据库设计
  • 找做金融的网站网站建设方面存在的问题
  • 门户网站建设与开发wordpress添加文章总数标签总数
  • 想创办一个本地的人才招聘网站_如何做市场调查问卷windows7优化大师下载
  • 做网站建设要什么证视频付费网站建设
  • html网站建设实例代码软件下载app排行榜
  • 高端个人网站网站建设密码
  • 全网seo秦皇岛市做网站优化
  • 简述站点推广有哪些方式大兴做网站公司
  • 网站关键词密度查询太仓网站设计早晨设计
  • 厦门市同安区建设局官方网站永嘉网站建设
  • 工程师网站建设网页设计与制作基础教程答案
  • php 开发手机网站建设互动平台抽手机
  • 网站 被降权网页平面设计要学什么
  • 团购网站短信平台中国建设银行网站客户注册码
  • 编辑网站的软件手机软件wordpress幻灯片源码
  • 网站开发比较厉害推荐一本学做网站的书
  • 贵州网站外包wordpress在后台修改绑定域名