首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用java连接Kerberos和非kerberos和kerberos的Spark1.6 ThriftServer

中启用Spark Thrift》和《如何在Kerberos环境下的CDH集群部署Spark1.6 Thrift及spark-sql客户端》,本篇文章Fayson主要介绍如何使用Java JDBC连接非Kerberos...java.sql.ResultSet; /** * package: com.cloudera.sparkjdbc * describe: 使用JDBC的方式访问非Kerberos环境下Spark1.6...这里在cdh04.fayson.com启动的ThriftServer,使用hive/cdh04.fayson.com@FAYSON.COM账号启动,在下面的JDBC连接时需要该账号。...成功的从Hive库中取出test表的数据。 5.查看Yarn上的作业 ? Spark执行的SQL语句 ?...5.总结 ---- 通过JDBC访问Spark ThriftServer使用Hive JDBC驱动即可,不需要做额外的配置 在启用非Kerberos环境下的Spark ThriftServer服务时需要指定用户为

1.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    spark2.0.1安装部署及使用jdbc连接基于hive的sparksql

    1、安装     如下配置,除了配置spark还配置了spark history服务 #先到http://spark.apache.org/根据自己的环境选择编译好的包,然后获取下载连接 cd /opt...然后编辑spark-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_111 export SPARK_MASTER_HOST=hadoop-n 复制一份spark-defaults.conf.template...spark://hadoop-n:7077 #对sql查询进行字节码编译,小数据量查询建议关闭 spark.sql.codegen...3、使用jdbc连接基于hive的sparksql a)如果hive启动了hiveserver2,关闭 b)执行如下命令启动服务 cd $SPARK_HOME/sbin ....,不然spark会在本地创建物理数据库文件 hive启动时提示ls: cannot access /opt/spark/spark-2.0.1-bin-hadoop2.6/lib/spark-assembly

    1.7K30

    Spark常见错误问题汇总

    该BUG在Spark2.3.0之后才修复 解决方法:规避解决。修改ORC的默认分割策略为:hive.exec.orc.split.strategy=BI进行解决。...导致连接超时 解决方法:spark-sql解决:hive.metastore.client.socket.timeout将该参数调大。...:解决密码和验证问题 使用jdbc的方式连接到ThriftServer,可以执行类似与show tabls的等操作,但是不能执行select相关的操作:java.io.IOException: Failed...ORC在hive1.2.1时的BUG,在hive2.X和Spark2.3.X版本后进行了解决 解决方法:暂时规避方法比较暴力,1、先使用超级用户进行第一次查询,导致缓存的用户为超级用户。...=false 在使用Spark过程中出现:java.io.IOException: No space left on device 原因:一般是由于Spark的tmp目录满了导致 解决方法:可以将该目录空间设置大点

    4.2K10

    java数据库连接池dbcp的使用

    JDBC作为一种数据库访问技术,具有简单易用的优点。但使用这种模式进行Web应用   程序开发,存在很多问题:首先,每一次Web请求都要建立一次数据库连接。...其次,对于每一次数据库连接,使用完后都得断开。否则,如果程序出现异常而未能关闭,将会导致数据库系统中的内存泄漏,最终将不得不重启数据库。...数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。...我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发﹑测试及性能调整提供依据。...dbcp数据库连接池代码使用如下: package util; import java.sql.Connection; import java.sql.PreparedStatement; import

    1.4K20

    关于java连接mysql数据库的几个问题的解决方法。

    今天就为了连接下数据库获取信息来提供给ListView使用,搞了足足5小时。...由于我自己要连接的是本机的mysql数据库,而且我在浏览器上进入的时候是要在 localhost 后面加上:8080的,就是 localhost:8080 所以我在代码了写 url 的时候就写为了 String...正确的写法应该是写数据库的端口,3306,就是把8080改为3306....第二个问题是:       继第一个问题解决之后,编译出现了新问题,Error : java.sql.SQLException: Access denied for user 'xxxx'@'localhost...' (using password: YES) 这句错误被抛出,网上的方法很多,什么都有,后来下意识的在我的mysql里新建了一个用户,把代码了原来设置的连接用户账号改了,密码也改了 成功了

    1K60

    大数据必学Java基础(一百零二):连接池的使用

    ​连接池的使用一、连接池基础知识扩展建立数据库连接的两种方式传统连接方式首先调用Class.forName()方法加载数据库驱动,然后调用DriverManager.getConnection()方法建立连接...连接池方式连接池解决方案是在应用程序启动时就预先建立多个数据库连接对象,然后将连接对象保存到连接池中。当客户请求到来时,从池中取出一个连接对象为客户服务。...当请求完成时,客户程序调用close()方法,将连接对象放回池中.对于多于连接池中连接数的请求,排队等待。应用程序还可根据连接池中连接的使用率,动态增加或减少池中的连接数。...connection对象是可以反复使用的,没有必要每次都创建新的。该对象的创建和销毁都是比较消耗系统资源的,如何实现connection对象的反复使用呢?使用连接池技术实现。...2、实现链接对象的反复使用,可以大大减少链接对象的创建次数,减少资源的消耗。

    620101

    SparkDSL修改版之从csv文件读取数据并写入Mysql

    import java.sql.{Connection, DriverManager, PreparedStatement} import org.apache.spark.sql....,需要使用事实表数据和维度表数据关联,所以先数据拉宽,再指标计算 TODO: 按照数据仓库分层理论管理数据和开发指标 - 第一层(最底层):ODS层 直接加CSV文件数据为DataFrame...,计算指标,进行存储到MySQL表 */ // step2、【ODS层】:加载数据,CSV格式数据,文件首行为列名称 val ratingDF: DataFrame = readCsvFile...", "2") .getOrCreate() } /** * 读取CSV格式文本文件数据,封装到DataFrame数据集 */ def readCsvFile(spark: SparkSession...,更新数据;不存在时,插入数据 * @param dataframe 数据集 * @param sql 插入数据SQL语句 * @param accept 函数,如何设置Row中每列数据到SQL

    1.8K10

    DataFrame和Dataset简介

    DataFrame 是一个由具名列组成的数据集。它在概念上等同于关系数据库中的表或 R/Python 语言中的 data frame。...,一个面向的是非结构化数据,它们内部的数据结构如下: DataFrame 内部的有明确 Scheme 结构,即列名、列字段类型都是已知的,这带来的好处是可以减少数据读取以及更好地优化执行计划,从而保证查询效率...如果你想使用函数式编程而不是 DataFrame API,则使用 RDDs; 如果你的数据是非结构化的 (比如流媒体或者字符流),则使用 RDDs, 如果你的数据是结构化的 (如 RDBMS 中的数据)...Scala 和 Java 语言中使用。...如下面代码,DataSet 的类型由 Case Class(Scala) 或者 Java Bean(Java) 来明确指定的,在这里即每一行数据代表一个 Person,这些信息由 JVM 来保证正确性,

    2.2K10

    SQL、Pandas和Spark:常用数据查询操作对比

    02 Pandas和Spark实现SQL对应操作 以下按照SQL执行顺序讲解SQL各关键字在Pandas和Spark中的实现,其中Pandas是Python中的数据分析工具包,而Spark作为集Java...有公共字段,且连接条件只有1个,直接传入连接列名 df1.join(df2, "col") // 2、有多个字段,可通过Seq传入多个字段 df1.join(df2, Seq("col1", "col2...loc是用于数据读取的方法,由于其也支持传入逻辑判断条件,所以自然也可用于实现数据过滤,这也是日常使用中最为频繁一种; 通过query接口实现,提起query,首先可能想到的便是SQL中Q,实际上pandas...order by用于根据指定字段排序,在Pandas和Spark中的实现分别如下: Pandas:sort_index和sort_values,其中前者根据索引排序,后者根据传入的列名字段排序,可通过传入...纵向拼接,要求列名对齐,而append则相当于一个精简的concat实现,与Python中列表的append方法类似,用于在一个DataFrame尾部追加另一个DataFrame; Spark:Spark

    2.5K20

    Redis-KV数据库Java连接以及Jedis包的使用

    0x00 前言 描述:Redis是一个开源的Key-Value数据缓存,和Memcached类似。现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。...服务及 Java redis 驱动,且你的机器上能正常使用 Java。...Redis数据库的基础使用案例 Redis连接认证配置文件:config.properties # Connection Redis Configure RedisUrl=10.20.10.248:6379...Redis 交集:[Java] 并集:[Java, Python, Redis] 差集:[Python] 有序集合元素个数: 6 指定集合范围内的元素个数: 4 java redis WeiyiGeek...的池化技术,在创建时初始化一些连接资源存储到连接池中,使用jedis连接资源时不需要创建,而是从连接池中获取一个资源进行redis的操作,使用完毕后不需要销毁该jedis连接资源,而是将该资源归还给连接池供其他请求使用

    86020

    Redis-KV数据库Java连接以及Jedis包的使用

    服务及 Java redis 驱动,且你的机器上能正常使用 Java。...Redis数据库的基础使用案例 Redis连接认证配置文件:config.properties # Connection Redis Configure RedisUrl=10.20.10.248:6379...Redis 交集:[Java] 并集:[Java, Python, Redis] 差集:[Python] 有序集合元素个数: 6 指定集合范围内的元素个数: 4 java redis WeiyiGeek...,使用jedis连接资源时不需要创建,而是从连接池中获取一个资源进行redis的操作,使用完毕后不需要销毁该jedis连接资源,而是将该资源归还给连接池供其他请求使用。...: 1 PONG 当前Redis连接池被使用的数量: 2 PONG 当前Redis连接池被使用的数量: 3 Get ret from redis: WeiyiGeek1 with 2 millis 当前

    1.3K50

    使用Spark SQL的临时表解决一个小问题

    最近在使用spark处理一个业务场景时,遇到一个小问题,我在scala代码里,使用spark sql访问hive的表,然后根据一批id把需要的数据过滤出来,本来是非常简单的需求直接使用下面的伪SQL即可...这里倾向于第二种解决办法,比较灵活和方便扩展,尽量不要把数据集分散,一旦分散意味着客户端需要做更多的工作来合并结果集,比如随便一个sum或者dinstict,如果是第一种则需要在最终的结果集再次sum或者...在spark中使用临时表是非常简单的,我们只需要把id列表的数据放入rdd中,然后再把rdd注册成一个张表,就可以和hive库里面已有的表做各种join操作了,一个demo代码如下: 上面代码里的变量ids...,就是我们需要转化成内存表的数据,然后需要转成Seq,并生成RDD,再通过RDD转成DataFrame,注意如果要使用DF,需要导入 import spark.implicits...._包下面的函数,这样就能隐式的直接转成DF,在转成DF的同时,我们给数据指定了列名叫id,这里如果有多列,后面可以继续逗号分隔,添加多个列名,最终我们给它注册成了内存临时表,然后在下面的语句中就可以直接使用

    2.7K70

    使用Pandas_UDF快速改造Pandas代码

    Pandas_UDF是在PySpark2.3中新引入的API,由Spark使用Arrow传输数据,使用Pandas处理数据。...具体执行流程是,Spark将列分成批,并将每个批作为数据的子集进行函数的调用,进而执行panda UDF,最后将结果连接在一起。...注意:上小节中存在一个字段没有正确对应的bug,而pandas_udf方法返回的特征顺序要与schema中的字段顺序保持一致!...toPandas将分布式spark数据集转换为pandas数据集,对pandas数据集进行本地化,并且所有数据都驻留在驱动程序内存中,因此此方法仅在预期生成的pandas DataFrame较小的情况下使用...换句话说,@pandas_udf使用panda API来处理分布式数据集,而toPandas()将分布式数据集转换为本地数据,然后使用pandas进行处理。 5.

    7.1K20

    解决MySQL连接问题:Access Denied和SSL警告;MySQL数据库连接失败:Access Denied异常的解决方法;如何在Java应用程序中正确配置MySQL数据库连接

    JDBC 连接尝试使用 SSL,但如果没有为此配置适当的证书,会收到一个警告。...在开发环境中,通常可以安全地禁用 SSL(尽管在生产环境中,建议配置并使用 SSL)。 访问被拒绝:这意味着提供的用户名和密码不正确,或该用户没有权限连接到指定的数据库。...解决步骤: 处理 SSL 警告:为你的数据库 URL 添加 useSSL=false 参数来禁用 SSL。...使用正确的用户名和密码替换上面 URL 中的 "username" 和 "password"。...例如,如果你的 MySQL 用户名是 root,密码是 mysecret,那么连接代码应更改为: 如果你不确定用户名和密码,你需要检查 MySQL 的配置或联系数据库管理员。

    55910

    Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

    JSON Datasets (JSON 数据集) Scala Java Python R Sql Spark SQL 可以 automatically infer (自动推断)JSON dataset...builtin当启用 -Phive 时,使用 Hive 1.2.1,它与 Spark 程序集捆绑在一起。...JDBC 连接其它数据库 Spark SQL 还包括可以使用 JDBC 从其他数据库读取数据的数据源。此功能应优于使用 JdbcRDD。...用户可以在数据源选项中指定 JDBC 连接属性。用户 和 密码通常作为登录数据源的连接属性提供。...SQL / DataFrame 函数的规范名称现在是小写(例如 sum vs SUM)。 JSON 数据源不会自动加载由其他应用程序(未通过 Spark SQL 插入到数据集的文件)创建的新文件。

    26.1K80

    Spark SQL | 目前Spark社区最活跃的组件之一

    DataSet/DataFrame DataSet/DataFrame都是Spark SQL提供的分布式数据集,相对于RDD而言,除了记录数据以外,还记录表的schema信息。...DataSet是自Spark1.6开始提供的一个分布式数据集,具有RDD的特性比如强类型、可以使用强大的lambda表达式,并且使用Spark SQL的优化执行引擎。...DataFrame是DataSet以命名列方式组织的分布式数据集,类似于RDBMS中的表,或者R和Python中的 data frame。...然后通过beeline连接thrift服务进行数据处理。 hive-jdbc驱动包来访问spark-sql的thrift服务 在项目pom文件中引入相关驱动包,跟访问mysql等jdbc数据源类似。...如果hive的元数据存储在mysql中,那么需要将mysql的连接驱动jar包如mysql-connector-java-5.1.12.jar放到SPARK_HOME/lib/下,启动spark-sql

    2.5K30
    领券