草庐IT

Spark-Hive

全部标签

apache-spark - spark-sql读取hive表失败

我想通过hivejdbc连接将整个hive表加载到spark内存中。并且已经在我的项目中添加了hive-site.xml、hdfs-site.xml。由于成功获取列名(eg.role_id),spark已经连接到hive。但是spark似乎将列名加载为数据,并抛出异常。这是我的代码:valdf=spark.read.format("jdbc").option("driver",CommonUtils.HIVE_DIRVER).option("url",CommonUtils.HIVE_URL).option("dbtable","datasource_test.t_leave_map_

java - 设置 hive.exec.pre.hooks 时出现 ClassNotFoundException

我正在按照此文档进行配置单元Hook:http://dharmeshkakadia.github.io/hive-hook/但是当showtables时我得到了这个错误2018-08-1209:57:38,122ERRORorg.apache.hadoop.hive.ql.Driver:[HiveServer2-Background-Pool:Thread-315]:hive.exec.pre.hooksClassnotfound:HiveExampleHook2018-08-1209:57:38,122ERRORorg.apache.hadoop.hive.ql.Driver:[Hi

sql - 使用 Hive 复杂数据类型

我正在尝试将文本文件加载到配置单元数据库中,文本文件中的值是,分隔的,这些值中有一个值是数组类型。这是我的示例数据。101,suresh,67,45,67,21,hyderabad这里:101:学号suresh:学生姓名67,45,67,21:学生成绩hyderabad:学生所在地这里我需要如何加载到配置单元中101,suresh,[67,45,67,21],hyderabad标记字段必须作为数组类型加载。我该怎么做? 最佳答案 您可以使用regexserde并创建文本表。问题出在数组类型,因为regexserde不允许数组数据类型

apache-spark - Apache Spark 2.3.1 - pyspark.sql.SparkSession.builder.enableHiveSupport() 是必要的吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我对Hive的理解是它提供了一种使用SQL命令查询HDFS的方法。好的,但还有Spark。Spark拥有所有RDD类方法,这些方法完全有能力,但我更喜欢SQL。输入SparkSQL。所以现在我可以使用SparkSQL通过SQL查询我的数据库,为什么Hive会出现?文档说:enableHiveSupport():EnablesHivesupport,includingconnectivity

hadoop - SQL 中的动态聚合 (Hive)

我有两张table。表A有3列:用户标识、开始日期和结束日期。带有事件和日期时间戳的表B。我想根据表A将表B汇总到开始日期和结束日期之间的日期时间。所以类似...selecta.userid,count(distinctb.eventid)aseventsfromtableainnerjointablebona.userid=b.useridandb.datetimebetweena.starttimeandb.endtimegroupbya.userid但Hive不喜欢那样...我正在使用HadoopHortonWorks。非常感谢任何指导! 最佳答案

apache-spark - 将环境变量传递给 YARN 容器

我们有一个复杂的环境,它使用多种技术计算日常任务:SPARKPY-SPARKJavaMapReduce和HIVE。最近我们集成了一个新系统,可以在运行时对服务进行动态解析。该系统在任务初始化之前(动态地)更新环境变量。有一个库可以读取环境变量并对其进行处理(无关紧要)。因此,每个任务在其执行器/映射器/缩减器环境中都需要这个环境变量。我们的任务由YARN资源管理器管理。总结一下,我想传递YARN环境变量,它将在所有容器(ApplicationMaster和执行器/映射器/缩减器)上公开。到目前为止我尝试过的事情:SPARK-我玩过:spark-submit--confspark.yar

r - 在 sparklyr 中断开连接后,spark 数据帧是否会自动删除?如果没有,我们该怎么做?

在关闭连接时,以下列方式复制到spark的数据帧会发生什么情况?library(sparklyr)library(dplyr)sc如果它们没有被自动删除,除了按以下方式删除每个数据帧之外,是否有任何简单的方法可以删除session期间创建的所有数据帧?sc%>%spark_session()%>%invoke("catalog")%>%invoke("dropTempView","iris")即使它是自动完成的,当spark看到有必要清理临时View时,它是立即完成还是延迟完成?我有一个脚本,它不断调用spark并将临时数据帧复制到spark中以进行一些操作。如果最终没有删除,我担心那

hadoop - Hive:如何处理数据文件中有分隔符的文件?

我有以下数据需要插入到配置单元表中。数据在文件中具有默认分隔符。如何插入到Hive表中?10,Andrew,Man”,”ager,DE,PC11,Arun,Manager,NJ,PC12,Harish,Sales,NJ,MAC13,Robert,Manager,PA,MAC14,Laura,Engineer,PA,MAC谢谢! 最佳答案 尝试使用CSVSerdecreatetabletest_table(idint,...)ROWFORMATSERDE'org.apache.hadoop.hive.serde2.OpenCSVSer

apache-spark - 在用压缩文件替换 HDFS 中的小文件时如何避免破坏事件的 Hive/Presto 查询?

我们有100多个HDFS分区,我们每天每小时都会写入这些分区。分区是每天进行的,以便直接加载到Hive中,数据以Parquet格式写入。我们遇到的问题是,因为我们想尽可能快地获取数据可查询,每小时写入导致很多小文件。有很多例子,例如Howtocombinesmallparquetfilestoonelargeparquetfile?对于合并代码;我的问题是在移动/替换新压缩的文件以替换小文件时如何避免破坏人们的主动查询? 最佳答案 Metastore对每个分区都有一个文件系统位置。该位置通常基于表和分区:hdfs://namenod

hadoop - Hive - 将 'yyyy-MM-dd' 之类的字符串转换为数据类型为“yyyy-MM-dd”的日期

我在hive中有一个外部表,它的列为report_dt,数据类型为string,其值类似于2018-09-022018-09-03而且我想根据写在这个外部表上的查询创建托管表,其中report_dt_1作为列,数据类型为date我已经经历了一些线程,我能够像这样查询createtablemanag_newtableasselectto_date(from_unixtime(unix_timestamp(report_dt,'yyyy-MM-dd'),'yyyy-MM-dd'))asreport_dt_1fromexter_table;所以上面的查询创建了一个新表,但是当我descman