开发者学堂课程【数据湖 JindoFS + OSS 实操干货36讲:Impala 如何高效查询 OSS 数据】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/833/detail/13970
Impala 如何高效查询 OSS 数据
内容介绍
一、背景介绍
二、Impala 使用 JindoSDK
三、 演示
一、 背景介绍
1. ApacheImpala 介绍
能够对存储在 Hadoop 集群的 PB 级数据进行快速 SQL 查询分析的布式 MPP 查询框架.
2. 使用 JindoSDK 高效查询 OSS 数据
JindoFS SDK 是一个简单易用面向 Hadoop/Spark 生态的 OSS 客户端,为阿里云 OSS 提供高度优化的 Hadoop FileSystem 实现。
通过 JindoFS SDR,可以在 Hadoop 环境中直接使用 oss://bucket/ 的方式访问阿里云 OSS 上的内容。
二、 Impal a使用 JindoSDK
1. 安装 jar 包
下载最新的 jar 包 jindofs-sdk-x.x.x.jar,将sdk包安装到Impala的lib下。
cp jindofs-sdk-$(version].jar $IMPALA_HOME/lib/
2. 配置 JindoFS OSS 实现类
配置IMPALA使用的 core-site.xml配置JindoFS SDK 访问 OSS
代码
fs.AbstractFileSystem.oss.impl
com.aliyun.emr.fs.oss.0SS
fs.oss.impl
com.aliyun.emr.fs.oss.Jindo0ssFileSystem
3. 配置 OSS Access Key
将 OSS 的 Access Key、Access Key Secret、Endpoint 等预先配置在 Hadoop 的core-site.xml 中。
代码
jindo.common.accessKeyId
xxx
jindo.comon.accessKeySecret
xocx
jindo.comon.oss.endpoint
oss-cn-xox,aliyuncs.comk/value>
4. 使用JindoFSSDK访问OSS
1) 下载测试数据集链接;
2) 上传数据
hadoop fs -put test_data oss://bucket/dir
3) 创建表
CREATE EXTERNAL TABLE customer_demographics(
`cd_demo_sk` INT,
`cd_gender` STRING,
`cd _marital_status` STRING,
`cd_education_status` STRING,
`cd_purchase_estinate` INT,
`cd_credit_rating` STRING,
`cd_dep_count` INT,
`cd_dep_employed_count` INT,
`cd_dep_college_count` INT)
STORED AS PARQUET
LOCATION
‘OSS://bucket/dir’;
4) 查询 OSS 表
select * from customer_demographics;
三、 演示
1. 下载 JindoFS SDK;
2. 将 jar 包拷贝到 $IMPALA_HOME/lib/;
3. 修改 JindoSDK 配置;
4. 演示 Impala 加载和查询 OSS 表
l 补充:相关资源
1. 下载 JindoFS SDK:
https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindofs_sdk_download.md
2. lmpala 使用:
JindoSDK:https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/impala/jindosdk on impala.md