我正在尝试使用

Python编写一个spark作业,它将打开与Impala的jdbc连接,并将Impala直接从Impala加载到Dataframe中.这个问题非常接近,但在scala中:

Calling JDBC to impala/hive from within a spark job and creating a table

我该怎么做呢?其他数据源有很多例子,例如MySQL,PostgreSQL等,但我还没有看到一个用于Impala Python Kerberos的数据源.一个例子会有很大的帮助.谢谢!

尝试使用来自网络的信息,但它没有用.

SPARK笔记本

#!/bin/bash

export PYSPARK_PYTHON=/home/anave/anaconda2/bin/python

export HADOOP_CONF_DIR=/etc/hive/conf

export PYSPARK_DRIVER_PYTHON=/home/anave/anaconda2/bin/ipython

export PYSPARK_DRIVER_PYTHON_OPTS='notebook --ip=* --no-browser'

# use Java8

export JAVA_HOME=/usr/java/latest

export PATH=$JAVA_HOME/bin:$PATH

# JDBC Drivers for Impala

export CLASSPATH=/home/anave/impala_jdbc_2.5.30.1049/Cloudera_ImpalaJDBC41_2.5.30/*.jar:$CLASSPATH

export JDBC_PATH=/home/anave/impala_jdbc_2.5.30.1049/Cloudera_ImpalaJDBC41_2.5.30

# --jars $SRCDIR/spark-csv-assembly-1.4.0-SNAPSHOT.jar \

# --conf spark.sql.parquet.binaryAsString=true \

# --conf spark.sql.hive.convertMetastoreParquet=false

pyspark --master yarn-client \

--driver-memory 4G \

--executor-memory 2G \

# --num-executors 10 \

--jars /home/anave/spark-csv_2.11-1.4.0.jar $JDBC_PATH/*.jar

--driver-class-path $JDBC_PATH/*.jar

Python代码

properties = {

"driver": "com.cloudera.impala.jdbc41.Driver",

"AuthMech": "1",

# "KrbRealm": "EXAMPLE.COM",

# "KrbHostFQDN": "impala.example.com",

"KrbServiceName": "impala"

}

# imp_env is the hostname of the db, works with other impala queries ran inside python

url = "jdbc:impala:imp_env;auth=noSasl"

db_df = sqlContext.read.jdbc(url=url, table='summary', properties=properties)

我收到此错误消息(Full Error Log):

Py4JJavaError:调用o42.jdbc时发生错误.

:java.lang.ClassNotFoundException:com.cloudera.impala.jdbc41.Driver

最佳答案 您可以使用

--jars $(echo /dir/of/jars/*.jar | tr ' ' ',')

代替

--jars /home/anave/spark-csv_2.11-1.4.0.jar $JDBC_PATH/*.jar

或者对于另一种方法,请参阅我的answer

python使用spark sql查询impala_如何使用JDBC将Impala表直接加载到Spark?相关推荐

  1. python使用spark sql查询impala_使用SparkSQL阅读Impala表

    我试图执行一个查询,该函数的功能类似于lead .. over ..分区和Union.当我试图在impala上运行它时,此查询效果很好,但在Hive上失败.使用SparkSQL阅读Impala表 我需 ...

  2. spark SQL(三)数据源 Data Source----通用的数据 加载/保存功能

    Spark SQL 的数据源------通用的数据 加载/保存功能 Spark SQL支持通过DataFrame接口在各种数据源上进行操作.DataFrame可以使用关系变换进行操作,也可以用来创建临 ...

  3. spark sql读取hive底层_scala – 从一个hive表中读取并使用spark sql写回来

    我正在使用Spark SQL读取Hive表并将其分配给 scala val val x = sqlContext.sql("select * from some_table") 然 ...

  4. Spark-sql:以编程方式执行Spark SQL查询(通过反射的方式推断出Schema,通过StrutType直接指定Schema)

    1.编写Spark SQL查询语句 在这之前创建Maven项目.创建的过程如:http://blog.csdn.net/tototuzuoquan/article/details/74571374 在 ...

  5. python保存大列表(list)数据到文件并后续重新加载为列表(list)对象实战

    python保存大列表(list)数据到文件并后续重新加载为列表(list)对象实战 笔者遇到的问题是这样的, 在做机器学习模型的时候,有的时候会使用相关性分析的方法来进行特征的筛选,去除冗余特征,降 ...

  6. Python Day 10 函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal)...

    Python Day 10  函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal) 名称空间(命名空间): 当程序运行时,代码从上至下一次读取,遇到变量与值, ...

  7. Python脚本-导出SQL查询结果到Excel文件

    不像Mysql , SQL Server似乎没有指定的语句可以直接把SQL查询语句的结果导出到文件 下面用Python的pandas库实现这一功能 1 import pandas as pd 2 im ...

  8. 一个Spark SQL查询的一生

    Spark是时下很火的计算框架,由UC Berkeley AMP Lab研发,并由原班人马创建的Databricks负责商业化相关事务.而SparkSQL则是Spark之上搭建的SQL解决方案,主打交 ...

  9. Spark _25.plus _使用idea读取Hive中的数据加载成DataFrame/DataSet(四)

    对Spark _25 _读取Hive中的数据加载成DataFrame/DataSet(四) https://georgedage.blog.csdn.net/article/details/10309 ...

最新文章

  1. 直播源码:直播+内容营销新趋势
  2. JavaScript 教程(二)
  3. Mycat中间件的下发准则
  4. 电子书下载 | 超实用!阿里售后专家的 K8s 问题排查案例合集
  5. 数据结构与算法09 之图
  6. BugKuCTF 加密 easy_crypto
  7. php7连接oracle数据库,使用一个持久连接连到 Oracle 数据库 - PHP 7 中文文档
  8. 简易的CRM系统案例之SpringMVC+JSP+MySQL+hibernate框架版本
  9. 【Ubuntu-Opencv】Ubuntu14.04 Opencv3.3.0 完整卸载方案
  10. python Pillow 的简单案例
  11. (2) 第二章 WCF服务与数据契约 服务契约详解(三)- [ServiceContract]特性
  12. Intel Haswell/Broadwell架构/微架构/流水线 (2)-流水线前端
  13. spark学习-57-Spark下Scala版HBase下的根据权重获取最真实数据
  14. 神经网络填充(padding)
  15. Java匹马行天下之学编程的起点——高级语言大锅烩
  16. 前端js使用java变量值_web前端:js中的变量
  17. Nuxt判断手机端还是电脑端
  18. 【Proteus仿真】51单片机+TLC5615输出三角波
  19. 花仙里云课堂知识付费v1.2.25知识付费 教育 直播
  20. 启动oracle10监听器错误:本地计算机上的OracleOraDb10g_home1TNSListener服务启动后又停止了 解决方案

热门文章

  1. .Net Core微服务架构技术栈的那些事
  2. 流传在程序员中的传说,你知道几个?
  3. Exceptionless 5.0.0本地Docker快速部署介绍
  4. Hyper-V + CentOS7 网络设置(视频教程)
  5. Serilog 自定义 Enricher 来增加记录的信息
  6. linux 安装 powershell
  7. 译 | 你到底有多精通 C# ?
  8. .net core 注入机制与Autofac
  9. ASP.NET Core中HTTP管道和中间件的二三事
  10. [NewLife.XCode]脏数据