读取odps表数据

前言

这是我第一次写博客,在工作的这一段时间,几乎每天都会学到新的东西,做为一个普通人,我也深感自身记忆力的 一般,所以想通过博客的方式将自己在平时工作中遇到的技术点记录下来,积累的同时也能进行分享。

问题

由于需要从odps表中读取数据,所以我一开始使用的是spark自带DataSource的API方式进行数据读取,具体代码如下:

val df = spark
      .read
      .format("org.apache.spark.aliyun.odps.datasource")
      .option("spark.hadoop.fs.oss.impl", "com.aliyun.fs.oss.nat.NativeOssFileSystem")
      .option("odpsUrl", odpsUrl)
      .option("tunnelUrl", tunnelUrl)
      .option("table",  table)
      .option("project", project)
      .option("accessKeyId", accessKeyId)
      .option("accessKeySecret", accessKeySecret)
      .load()

可是我发现这样做有个问题,spark读取odps表时,对于有些类型的字段无法正常读取,例如:string,datetime类型都报无法传输的错误,所以我经过考虑后认为可以使用阿里云的maxCompute SDK提供的接口进行读取数据。

依赖

<dependency>
            <groupId>com.aliyun.emr</groupId>
            <artifactId>emr-core</artifactId>
            <version&g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值