如何在spark-shell命令行执行sparkhql

在clouderamanager中安装好spark后,直接执行spark-shell进入命令行,写入如下语句:valhiveContext=neworg.apache.spark.sql.hive.HiveContext(sc)会看到执行不起作用即可。
通过,因为cm中安装的原始spark不支持sparkhql。
我们需要手动进行一些调整:第一步是将编译好的包含hive的JAR包上传到Spark默认配置的hdfs中。
sharelib文件夹:/user/spark/share/lib步骤2:要运行的节点上的/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/spark/文件命令spark-shelllib/folder记下以下内容并将此jar下载到此文件夹:hadoopfs-gethdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar(将具体路径替换为您自己的路径)。
然后该目录中会有一个软链接spark-assembly.jar指向spark-assembly-1.2.0-cdh5.3.0-hadoop2.5.0-cdh5.3.0.jar。
我们删除这个软链接并创建一个新的。
同名软链接:ln-sspark-assembly-with-hive-maven.jarspark-assembly.jar,指向我们刚刚下载的JAR包的链接,这个JAR包在启动时会被加载到程序的classpath控制中Spark-Shell脚本。
SparkContext也是在驱动中创建的,所以我们需要将原来的spark-assembly.jar包替换为我们创建的JAR包。
编译。
,这样当启动spark-shell时,包含hive的spark程序集将被加载到类路径中。
步骤3:在/opt/cloudera/parcels/CDH/lib/spark/conf/目录中创建hive-site.xml。
目录/opt/cloudera/parcels/CDH/lib/spark/conf是默认的Spark配置目录。
当然,您可以修改默认配置文件夹的位置。
hive-site.xml内容如下:<?xmlversion="1.0"encoding="UTF-8"?><!--AutogeneratedbyClouderaManager-->hive.metastore。
本地</名称><值>假</值></属性><属性><名称>hive.metastore.uris</名称><值>thrift://n1:9083</值></属性><属性><名称>hive.metastore.client.socket.timeout</名称><值>300</值></属性><属性><名称>hive.metastoree.warehouse.dir
/user/hive/warehouse
每个人都应该知道这一点,您必须让Spark找出Hive的元数据在哪里。
上面的一些配置。
步骤4:修改/opt/cloudera/parcels/CDH/lib/spark/conf/spark-defaults.conf并添加属性:spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/Spark-Assembly-with-Hive-maven.jar。
这允许每个执行器在本地下载它,然后将其加载到自己的类路径中。
主要用于光纤簇模式。
在本地模式下,这并不重要,因为驱动程序和执行程序位于同一进程中。
完成上述之后,运行spark-shell,输入:valhiveContext=neworg.apache.spark.sql.hive.HiveContext(sc)应该就可以了。
让我们执行另一条语句来验证它是否连接到我们指定的Hive元数据数据库:hiveContext.sql("showtables").take(10)//获取前十个表并查看。
第二步在第三步和第四步中,如果是光纤集群模式,则需要更换集群中所有节点上的spark组件。
hive-site.xml需要添加到sparkconf的目录中jar集群中的所有节点和spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/spark需要添加到每个节点的spark-defaults.conf-assembly-with-hive-maven。
罐。
你可以写一个shell脚本来替换它,否则手动替换每个按钮会很累。

大数据需要掌握哪些技能

大数据技术体系涉及大量的知识,需要有大数据学习的基础,因为大数据的开发是基于常用的高级语言。
而如果你正在学习Hadoop,

2你应该学习HBASE技术来学习大数据。
数据仓库工具HIV;大数据离线分析Spark、Python语言;邮件登记系统等

3需要有学习大数据的能力。
对于数据分析师来说,理解一些描述性统计相关的内容需要一定的数学计算能力以及对常用统计建模算法的了解。
数据挖掘工程师还需要熟练使用不同的算法,计算量要求很高。

了解大数据应用的4个领域

公共安全大数据、交通大数据、医疗大数据、就业大数据、环境等各领域大数据技术大数据、图像大数据、视频大数据等都有广泛的应用。

Spark-sqlshell脚本如何配置

JDBC和连接池都足以让Spring管理。
另外Spring本身并没有实现连接池,其中包括C3P0、dbcp以及最近流行的BoneCP等,这些配置几乎太多了,以BoneCP为例: