hive多分隔符

hive多分隔符,第1张

hive在建表时,通常使用
ROW FORMAT DELIMITED
FIELDS TERMINATED BY "|#" 来限定数据中各个字段的分隔符,这种方式只支持单个分隔符,即:实际只会按照"|"进行分割,若想实现支持多分隔符,有如下几种方式:
1、hive从014版本以后支持MultiDelimitSerDe,可以比较优雅多解决多分隔符问题
ROW FORMAT SERDE 'orgapachehadoophivecontribserde2MultiDelimitSerDe' WITH SERDEPROPERTIES ("fielddelim"="|#")
参考: >STEP 1:安装JDK
1配置安装JDK,将JDK解压,
tar -zxvf jdk-8u-45-linux-i586targz /usr/lib/jkd/
2再配置/etc/profile文件
sudo gedit /etc/profile
3配置默认JDK版本
为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。
执行代码:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk/jdk180_45/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/jdk180_45/bin/javac 300
sudo update-alternatives --config java
测试:
java -version
STEP 2:安装Hadoop
有些问题需要解决:
a若系统重启之后中途发现jps时,namenode与datanode未能正常启动
解决:可能是因为重启等原因,sbin/start-dfssh要重新运行一下。
STEP 3:安装HIVE
安装的问题不大,一步步解决即可。
但最后运行hive指令后,再运行show databases; 可能出现一些问题(没有数据库数据显示)并提示:
Relative path in absolute URI: ${system:javaiotmpdir%7D/$%7Bsystem:username%7D)
这种原因是因为没有在HIVE_HOME/conf/hive-sitexml文件中指定绝对路径导致的。
解决如下:
a 新建iotmp文件夹,即 /usr/local/hive/iotmp
b 在文件hive-sitexml中将${system:javaiotmpdir}/${system:username}换成/usr/local/hive/iotmp
重启Hive即可。
STEP 4:启动HWI

修改文件 /etc/profile,添加如下的行:
export HADOOP_HOME=/usr/local/hadoopexport ANT_HOME=$HADOOP_HOME/apache-ant-171export PATH=$PATH:/usr/local/hadoop/bin:$JAVA_HOME/bin:$HADOOP_HOME/contrib/hive/bin:$ANT_HOME/bin
export ANT_LIB=$HADOOP_HOME/apache-ant-171/lib
export HADOOP=$HADOOP_HOME/bin/hadoop


4、修改hive配置文件 /usr/local/hadoop/contrib/hive/conf/hive-defaultxml,只要改一个地方,使其内容为:/usr/local/hadoop/contrib/hive/lib/hive_hwiwar。昨天我把它书写成 “hive-hwiwar”,浏览器访问,就只列出文件目录,死活都不对,唉!
5、启动hive web服务: $ hive –service hwi & 监听端口默认是9999,也可以自己到hive-defaultxml定制。浏览器的访问url为 >

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10746603.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存