當前位置:首頁 » 編程語言 » 怎麼連接sparksql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

怎麼連接sparksql

發布時間: 2022-04-21 20:26:31

① 求助各位大神.關於spark sql的連接問題

主要內容:
1. Spark Streaming 另類在線實驗
2. 理解Spark Streaming本質

寫在前面的話:
為什麼我們要以SparkStreaming為切入點進行Spark的源碼定製呢?
原因如下:
1從研究目的來看
在Spark創立之初,並沒有現在我們常用的這些子框架,如Spark Streaming、Spark SQL、Spark R等內容,僅有原始的Spark core;而這些子框架是在Spark不斷發展中加入到Spark大家庭的。我們採用的是與Spark core聯系最緊密的Spark Streaming作為切入點,可以透過一個子框架的徹底研究,從而了解Spark的核心問題與解決辦法

2各個框架的對比來說
現階段,我們運行最多的是Sparkcore 以及其他的一些常用子框架。一下我們做了一些縱向對比。

② sparksql jdbc 求助

將hive-site.xml拷貝到Spark目錄下conf文件夾
local模式
spark-sql --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar
或者
需要在$SPARK_HOME/conf/spark-env.sh中的SPARK_CLASSPATH添加jdbc驅動的jar包
export export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar
連接到集群:
spark-sql --master spark://10.8.2.100:7077 --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar
開啟thriftserver,指定伺服器為Hadoop-master
內網連接:
sbin/start-thriftserver.sh --master spark://10.9.2.100:7077 --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar
外網連接:
sbin/start-thriftserver.sh --hiveconf hive.server2.thrift.port=10000 --hiveconf hive.server2.thrift.bind.host=hadoop-master --master spark://10.9.2.100:7077 --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar
停止thriftserver

③ Spark SQL 到底怎麼搭建起來

Spark on yarn已搭建好,開始使用SparkSql,做如下工作
1、將Hive-site.xml 至$SPARK_HOME/conf目錄,注意配置hive.metastore.uris、hive.metastore.client.socket.timeout
2、復制MySQL-connector-Java.jar 到$SPARK_HOME/lib目錄
3、配置spark-env.sh
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/lib/spark/lib/mysql-connector-java.jar:/usr/lib/hive/lib/*

export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/lib/spark/lib/mysql-connector-java.jar:/usr/lib/hive/lib/*

4、開始使用
./bin/spark-sql --master yarn --num-executors 30 --executor-cores 4 --executor-memory 8g

④ tableau連接spark sql 報錯,怎麼處理

這個分好幾種情況,最常見的是你的數據量太多(小數據正常) 或是需要執行大存儲過程(簡單的存儲過程也正常)時候出現,你需要去官網下在安裝對應資料庫的驅動程序.

⑤ 如何使用sparksql向mysql中插入數據

f(isset($_POST['submit'])&&$_POST['submit']=='提交'){
3 //判斷是否是提交過來的
4 $intext = $_POST['intext'];
5 if($intext!=null||$intext!=''){
6 $link = mysql_connect("localhost", "root", "123456");
7 //資料庫配置信息 第一個參數資料庫位置第二個是用戶名第三個是密碼
8 mysql_select_db("szn_test");
9 //設置要使用的資料庫
10 $sql = "select * from demo where res = '".$intext."'";

⑥ 如何使用 Spark SQL

一、啟動方法
/data/spark-1.4.0-bin-cdh4/bin/spark-sql --master spark://master:7077 --total-executor-cores 10 --executor-memory 1g --executor-cores 2

註:/data/spark-1.4.0-bin-cdh4/為spark的安裝路徑

/data/spark-1.4.0-bin-cdh4/bin/spark-sql –help 查看啟動選項

--master MASTER_URL 指定master url
--executor-memory MEM 每個executor的內存,默認為1G
--total-executor-cores NUM 所有executor的總核數
-e <quoted-query-string> 直接執行查詢SQL

-f <filename> 以文件方式批量執行SQL

二、Spark sql對hive支持的功能

1、查詢語句:SELECT GROUP BY ORDER BY CLUSTER BY SORT BY
2、hive操作運算:
1) 關系運算:= ==, <>, <, >, >=, <=
2) 算術運算:+, -, *, /, %
3) 邏輯運算:AND, &&, OR, ||
4) 復雜的數據結構
5) 數學函數:(sign, ln, cos, etc)
6) 字元串函數:
3、 UDF
4、 UDAF

5、 用戶定義的序列化格式
6、join操作:JOIN {LEFT|RIGHT|FULL} OUTER JOIN LEFT SEMI JOIN CROSS JOIN
7、 unions操作:
8、 子查詢: SELECT col FROM ( SELECT a + b AS col from t1) t2
9、Sampling
10、 Explain
11、 分區表
12、 視圖
13、 hive ddl功能:CREATE TABLE、CREATE TABLE AS SELECT、ALTER TABLE

14、 支持的數據類型:TINYINT SMALLINT INT BIGINT BOOLEAN FLOAT DOUBLE STRING BINARY TIMESTAMPDATE ARRAY MAP STRUCT

三、Spark sql 在客戶端編程方式進行查詢數據
1、啟動spark-shell
./spark-shell --master spark://master:7077 --total-executor-cores 10 --executor-memory 1g --executor-cores 2
2、編寫程序
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val df = sqlContext.read.json("../examples/src/main/resources/people.json")
查看所有數據:df.show()
查看錶結構:df.printSchema()
只看name列:df.select("name").show()
對數據運算:df.select(df("name"), df("age") + 1).show()
過濾數據:df.filter(df("age") > 21).show()

分組統計:df.groupBy("age").count().show()

1、查詢txt數據
import sqlContext.implicits._
case class Person(name: String, age: Int)
val people = sc.textFile("../examples/src/main/resources/people.txt").map(_.split(",")).map(p => Person(p(0), p(1).trim.toInt)).toDF()
people.registerTempTable("people")
val teenagers = sqlContext.sql("SELECT name, age FROM people WHERE age >= 13 AND age <= 19")
2、parquet文件
val df = sqlContext.read.load("../examples/src/main/resources/users.parquet")
3、hdfs文件

val df = sqlContext.read.load("hdfs://namenode.Hadoop:9000/user/hive/warehouse/spark_test.db/test_parquet/part-r-00001.gz.parquet")
4、保存查詢結果數據
val df = sqlContext.read.load("../examples/src/main/resources/users.parquet")

df.select("name", "favorite_color").write.save("namesAndFavColors.parquet「)

四、Spark sql性能調優

緩存數據表:sqlContext.cacheTable("tableName")

取消緩存表:sqlContext.uncacheTable("tableName")

spark.sql.inMemoryColumnarStorage.compressedtrue當設置為true時,Spark SQL將為基於數據統計信息的每列自動選擇一個壓縮演算法。
spark.sql.inMemoryColumnarStorage.batchSize10000柱狀緩存的批數據大小。更大的批數據可以提高內存的利用率以及壓縮效率,但有OOMs的風險

⑦ sparkSQL用jdbc連接hive和用元數據連接hive的區別,各自優缺點

spark on hive : 是spark 通過spark-sql 使用hive 語句操作hive ,底層運行的還是 spark rdd.
*(1)就是通過sparksql,載入hive的配置文件,獲取到hive的元數據信息
* (2)spark sql獲取到hive的元數據信息之後就可以拿到hive的所有表的數據
* (3)接下來就可以通過spark sql來操作hive表中的數據
hive on spark: 是hive 等的執行引擎變成spark , 不再是maprece. 相對於上一項,這個要實現責麻煩很多, 必須重新編譯你的spark. 和導入jar包,

⑧ java怎麼連接sparksql集群

首先確保SQLSERVER服務正在運行,並可以允許遠程訪問連接 然後按如下步驟進行連接 1.安裝JDBC驅動 1)下載JDBC驅動 2)執行sqljdbc_4.0.2206.100_chs.exe解壓驅動文件 3)拷貝以下目錄中的sqljdbc_auth.dll到Windows的System32目錄。