6.  insert 语句

1) 因为目标表有partition, 所以刚开始我使用的语句是

insert overwrite table sa_r_item_sales_day_week_month partition(part=FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd'))
select ...

然而报错:

Error while compiling statement: FAILED: ParseException cannot recognize input near 'FROM_UNIXTIME' '(' 'UNIX_TIMESTAMP' in constant

原因: 语法不对

2) 正确语法:

insert overwrite table sa_r_item_sales_day_week_month partition(part='2015-12-17')

或者 

 insert overwrite table sa_r_item_sales_day_week_month partition(part='${part}')      --part就是你穿进去的参数

??

变量在哪赋值或声明 尚不清楚

7. datetime 并没有这个类型

time

FROM_UNIXTIME(UNIX_TIMESTAMP()) 可以获得现在的年月日时分秒;

2016-01-21 10:41:26

CURRENT_DATE 和 CURRENT_TIMESTAMP

8.  分号字符

分号是SQL语句结束标记,在HiveQL中也是,但是在HiveQL中,对分号的识别没有那么智慧,例如:
           select concat(key,concat(';',key)) from dual;
但HiveQL在解析语句时提示:
          FAILED: Parse Error: line 0:-1 mismatched input '<EOF>' expecting ) in function specification
解决的办法是,使用分号的八进制的ASCII码进行转义,那么上述语句应写成:
select concat(key,concat('\073',key)) from dual;

9. hive文件上传后,中文显示为乱码

因为hive的数据是保存在HDFS里的,所以保存文件时,选择UTF8即可。

10. Hive 删除列

alter table product replace columns(name string);

--  原列为id, name

-- 会把列往前移动,前面的列被抹掉,但文件格式不变,只是不显示

11. impala 和hive 相通,impala是计算引擎

1)invalidate metadata;

  • 如果在hive里面做了新增、删除数据库、表或者数据等更新操作,需要执行在impala里面执行此命令,才能将hive的数据同步impala;
  • 如果直接在impala里面新增、删除数据库、表或者数据,会自动同步到hive,无需执行任何命令。

2)impala sql 只能写insert into,不能overwrite

hive 使用笔记(partition; HDFS乱码;日期函数)的更多相关文章

  1. hive学习笔记之七:内置函数

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. hive 使用笔记(partition; HDFS乱码)

    6.  insert 语句 1) 因为目标表有partition, 所以刚开始我使用的语句是 insert overwrite table sa_r_item_sales_day_week_month ...

  3. hive日期函数

    今天select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss') UNIX时间戳转日期函数: from_unixtime 语法: from_ ...

  4. hive函数总结-日期函数

    获取当前UNIX时间戳函数: unix_timestamp语法: unix_timestamp() 返回值: bigint说明: 获得当前时区的UNIX时间戳举例: hive> select u ...

  5. Hive入门笔记---2.hive函数大全

    Hive函数大全–完整版 现在虽然有很多SQL ON Hadoop的解决方案,像Spark SQL.Impala.Presto等等,但就目前来看,在基于Hadoop的大数据分析平台.数据仓库中,Hiv ...

  6. Hive中日期函数总结

    --Hive中日期函数总结: --1.时间戳函数 --日期转时间戳:从1970-01-01 00:00:00 UTC到指定时间的秒数 select unix_timestamp(); --获得当前时区 ...

  7. Hive的日期函数

    1.unix时间戳转时间函数 语法: from_unixtime(bigint unixtime[, string format]) 返回值: string 说明: 转化UNIX时间戳(从1970-0 ...

  8. hive日期函数-原生函数(二)

    1. from_unixtime 日期函数UNIX时间戳转日期函数: from_unixtime 语法:from_unixtime(bigint unixtime[, stringformat]) 返 ...

  9. 【hive 日期函数】Hive常用日期函数整理

    1.to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12');输出:2015-04-02122.from_unixtime:转化unix时间戳到当 ...

随机推荐

  1. 51Nod:完美字符串

    约翰认为字符串的完美度等于它里面所有字母的完美度之和.每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数. 约翰不在乎字母大小写.(也就是说字母F和f)的完美度相同. ...

  2. CTF-练习平台-Misc之 Convert

    十八.Convert 打开后发现是01代码,转换为16进制代码如下 将代码复制到winhex里面发现是rar文件,保存 打开后发现里面有个图片 解压后在图片的属性里发现一段base64代码,对其解密 ...

  3. 在各OJ上的名号

    POJ  MekakuCityActors 牛客 MekakuCityActors hdoj MekakuCityActors 这几个难度较大,所以用Actors 博客 MekakuCityActor ...

  4. 《DSP using MATLAB》Problem 3.7

    一个复数序列可以分解为共轭偶对称和共轭奇对称部分. 代码: %% ------------------------------------------------------------------- ...

  5. vim golang 插件

    最好用的vim golang 插件 可自动缩进 git clone git@github.com:aimin/InstallvimGo.git

  6. PHP的extension_dir设置问题

    PHP安装时,extension_dir的路径要设成绝对路径:extension_dir = "D:/Tools/php-7.0.5/ext", 不然如果设成extension_d ...

  7. 使用 Visual Studio Code (VSCODE)写 C51 (持续更新 2018-04-09)

    Keil C51 那代码编辑器就是上一个时代的产物, 不适合现代人使用. 但是用 Visual Studio Code (VSCODE)就舒服多了.但需要安装和配置一些扩展: 按 Ctrl + Shi ...

  8. tomcat源码阅读之session管理器(Manager)

    一.UML图分析: (一) Session: Session保存了一个客户端访问服务器时,服务器专门为这个客户端建立一个session用来保存相关的会话信息,session有一个有效时间,这个时间默认 ...

  9. 【转】每天一个linux命令(29):chgrp命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/03/2799003.html 在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理. ...

  10. Netflix 是怎样的一家公司?为什么它在美国非常成功

    https://www.zhihu.com/question/19552101 作者:陈达链接:https://www.zhihu.com/question/19552101/answer/11486 ...