摘要:在文件已经导入(存入)hdfs之后,需要建表进行映射才可以show tables。 现在假设文件已导入该hdfs目录: /apps/hive/warehouse/db_name.db/tb_name (这里也可能是其他文件,如csv,txt等,如:/username/test/test.txt) 方
阅读全文
摘要:在linux上设置定时任务或者使用shell脚本都可以执行python代码;其中定时任务的设置在命令 crontab -e 中可以查看和设置。 假设目前有一个python脚本: import numpy as np print(' ') aa = [[1,2,3],[4,5,6]] print('a
阅读全文
摘要:最近遇到一个神奇的hive功能:lateral view explode,感觉与Mysql中的group concat相反,将原本在一起的数据拆分成多行形成虚拟表,再与原表进行笛卡尔积。 一般模式:select column_A,column_B,tmp_table.tmp_column from
阅读全文
摘要:mysql中的group_concat分组连接功能相当强大,可以先分组再连接成字符串,还可以进行排序连接。但是hive中并没有这个函数,那么hive中怎么实现这个功能呢? 这里要用到:concat_ws函数和collect_list、collect_set 函数。 1. 建立测试表(无分区表): c
阅读全文
摘要:1. hive建表:create create table if not exists db_name.test_tb(id string, name string, age string, province string, score string)partitioned by (str_date
阅读全文
摘要:hive中可用于分组排序的函数主要有:row_number,rank,dense_rank,它们分别有不同的特点,关键词主要用到:partition by和order by等。 【1】row_number:排序时给每一行分配唯一的顺序,相同行顺序也不同 select age, grade, row_
阅读全文
摘要:类似于mysql,hive中也有处理日期和时间的方法。 1. 日期转时间戳:unix_timestamp select unix_timestamp('2020/03/25 15:54:24', 'yyyy/MM/dd HH:mm:ss') from db_name.tb_name # 如果不写第二
阅读全文
摘要:pyspark可以直接将DataFrame格式数据转成table,也可在程序中执行sql代码。 1. 首先导入库和环境,os.environ在系统中有多个python版本时需要设置 import os from pyspark import SparkContext, SparkConf from
阅读全文
摘要:pyspark可用于读取textfile格式的hive表格。 1. 查看hive表的属性方法(在hive或者spark-sql命令行均可): 查询建表信息: show create table database_name.table_name; 查询表的属性信息 (可看到表的格式信息例如,Input
阅读全文
摘要:hive的部分字符串函数,包括: 1. 小写:lower 或者 lcase 函数 select lower('App') #结果是:app select lcase('App') 2. upper 或者 ucase 函数 select upper('App') #结果是:APP select uca
阅读全文
摘要:linux环境 假设hdfs安装路径(例如是): /usr/hdp/hadoop/bin/hdfs 1. -ls 列出当前目录下的文件、文件夹 /usr/hdp/hadoop/bin/hdfs dfs -ls /apps/hive/warehouse/my_home 2. 查看文件,例如hive表的
阅读全文
摘要:最近执行pyspark时,直接读取hive里面的数据,经常遇到几个问题: 1. java.io.IOException: Not a file —— 然而事实上文件是存在的,是 hdfs 的默认路径出了错,需要配置 --files 和 --conf。 2. pyspark.sql.utils.Ana
阅读全文
摘要:1. 建立分区表 create table 单分区表:其中分区字段是partdate,注意分区字段不能和表字段一样,否则会报重复的错 create table test_t2(words string,frequency string) partitioned by (partdate string
阅读全文
摘要:使用hive时,建立数据库,建表,写数据; 读数据:select * from test_t2; 报错SemanticException 原因:建表时使用了其他路径,或者在另一个路径的数据库(建立数据库时指定了location参数:create database words_db location
阅读全文