hive中使用transform小例子
代码:
set mapred.cache.archives=hdfs://host:54310/app/ns/test/php.tgz#home; set HDFS_PHP=home/know/odp/php -c home/know/odp/php/etc/php.ini; add file `pwd`/test.php; set mapred.reduce.tasks=10 insert overwrite directory '${output}/output/' select transform(b.qid,b.time) using '${hiveconf:HDFS_PHP} test.php' as qid,endcode_qid from ( select /*+mapjoin(pm)*/ qb.qid as qid,qb.create_time as time from test_q qb join test_a pm on (qb.dt='${dt}'and pm.dt='qid' and pm.id=qb.qid ) ) b
注意:
1.上面的例子在hive上是不能直接运行的,因为上面的例子我是写在shell中的
2.用transform 时防止集群本身没有环境可以把环境依赖包打包
用 set mapred.cache.archives=hdfs://host:54310/app/ns/test/php.tgz#home;
#home指的是一个包的别名,因此
set HDFS_PHP=home/usr/php/php -c home/know/odp/php/etc/php.ini;
这里直接使用home
3.如果是直接在shell 中运行hive -e 执行上述脚本,可能运行会报错
hive 中的变量替换会与${hiveconf:} shell 中的变量替换冲突
因此在shell中最好不用${hiveconf:}
4.home/know/odp/php 这个路径意思是说home是整个包的别名,/know/odp/php包被解压后的完整路径
相关推荐
在实际操作中,我们可能会使用Hive进行ETL(Extract, Transform, Load)过程,从原始数据中抽取、转换并加载到Hive表中。然后通过HQL进行数据探索、统计分析、报表生成等任务。此外,Hive还支持与其他大数据组件如...
在大数据处理领域,Hive是广泛使用的数据仓库工具,它允许用户通过SQL接口查询存储在Hadoop分布式文件系统(HDFS)上的大规模数据集。然而,Hive并不像关系型数据库MySQL那样支持直接导出INSERT语句。在某些场景下,...
书中会讲解如何使用`--hive-home`和`--create-hive-table`参数创建和管理Hive表,以及如何使用`--merge-key`参数进行数据合并。 最后,《Apache Sqoop Cookbook》还会涉及安全性、性能优化和故障排查等方面,帮助...
在本项目“Hadoop的Demo”中,我们深入探索了Hadoop生态系统,这是一个广泛用于...同时,与Hive的集成展示了如何在大数据处理中结合使用不同的工具,提高数据分析的效率。总之,这是一个全面了解和实践Hadoop的好起点。
Spark ETL Warehouse是一种基于Apache Spark的数据处理和仓库建设方法,它利用Spark的强大计算能力进行数据提取(Extract)、转换(Transform)和加载(Load)操作,从而构建高效、可扩展的数据仓库系统。...
Spark Notebook 支持多种数据源,例如 CSV、JSON、Parquet 或 Hive 表。下面是一个简单的例子,展示如何从 CSV 文件加载数据: ```scala val df = spark.read.format("csv").option("header", "true").load("path/...