請教一下:
val sqlContext = new SQLContext(sparkContext)
val result = rdd
.map(x => ({
var value :String = sqlContext.sql("select id from table")
}, 1)
在rdd的map里面,sqlContext輸出是空的? 求教下原因?多謝啦~~
uj5u.com熱心網友回復:
val sqlContext = new SQLContext(sparkContext)
val result = rdd
.map(x => ({
var value :String = sqlContext.sql("select id from table")
}, 1)
你這個table創建了嗎?
uj5u.com熱心網友回復:
表創建了。
整體代碼大體是這樣的:
val conf = new SparkConf()
val sparkContext = new SparkContext(conf)
val sqlContext = new SQLContext(sparkContext)
val srcTable = src.table(srcTbl).cache()
val ipTable = ip.table(ipTbl).cache()
val src_rdd = srcTable.select("type", "date", "ip").toDF("type", "date", "ip").cache()
val ip_rdd = ipTable.filter(ipTable("country") === 1).filter(ipTable("province") !== 0).select("start_ip", "end_ip", "province").cache()
ip_rdd.registerTempTable("ip_rdd")
val result = src_rdd
.map(x => ({
var value :String = sqlContext.sql("select province from ip_rdd where start_ip <= 1032301638 and end_ip >= 1032301638 order by province limit 1" ).head().toString()
pvMap(x).concat(value)
pvMap(x)
}, 1))
.reduceByKey(_ + _)
這里在Map程序中調sqlContext,我print了一下,是空的。但是在val result = src_rdd.map 外面呼叫sqlContext.sql就是正常的。
uj5u.com熱心網友回復:
表創建了。
整體代碼大體是這樣的:
val conf = new SparkConf()
val sparkContext = new SparkContext(conf)
val sqlContext = new SQLContext(sparkContext)
val srcTable = src.table(srcTbl).cache()
val ipTable = ip.table(ipTbl).cache()
val src_rdd = srcTable.select("type", "date", "ip").toDF("type", "date", "ip").cache()
val ip_rdd = ipTable.filter(ipTable("country") === 1).filter(ipTable("province") !== 0).select("start_ip", "end_ip", "province").cache()
ip_rdd.registerTempTable("ip_rdd")
val result = src_rdd
.map(x => ({
var value :String = sqlContext.sql("select province from ip_rdd where start_ip <= 1032301638 and end_ip >= 1032301638 order by province limit 1" ).head().toString()
pvMap(x).concat(value)
pvMap(x)
}, 1))
.reduceByKey(_ + _)
這里在Map程序中調sqlContext,我print了一下,是空的。但是在val result = src_rdd.map 外面呼叫sqlContext.sql就是正常的。
val sqlContext = new SQLContext(sparkContext)
val result = rdd
.map(x => ({
var value :String = sqlContext.sql("select id from table")
}, 1)
你這個table創建了嗎?
表創建了。
整體代碼大體是這樣的:
val conf = new SparkConf()
val sparkContext = new SparkContext(conf)
val sqlContext = new SQLContext(sparkContext)
val srcTable = src.table(srcTbl).cache()
val ipTable = ip.table(ipTbl).cache()
val src_rdd = srcTable.select("type", "date", "ip").toDF("type", "date", "ip").cache()
val ip_rdd = ipTable.filter(ipTable("country") === 1).filter(ipTable("province") !== 0).select("start_ip", "end_ip", "province").cache()
ip_rdd.registerTempTable("ip_rdd")
val result = src_rdd
.map(x => ({
var value :String = sqlContext.sql("select province from ip_rdd where start_ip <= 1032301638 and end_ip >= 1032301638 order by province limit 1" ).head().toString()
pvMap(x).concat(value)
pvMap(x)
}, 1))
.reduceByKey(_ + _)
這里在Map程序中調sqlContext,我print了一下,是空的。但是在val result = src_rdd.map 外面呼叫sqlContext.sql就是正常的。
val sqlContext = new SQLContext(sparkContext)
val result = rdd
.map(x => ({
var value :String = sqlContext.sql("select id from table")
}, 1)
你這個table創建了嗎?
表創建了。
整體代碼大體是這樣的:
val conf = new SparkConf()
val sparkContext = new SparkContext(conf)
val sqlContext = new SQLContext(sparkContext)
val srcTable = src.table(srcTbl).cache()
val ipTable = ip.table(ipTbl).cache()
val src_rdd = srcTable.select("type", "date", "ip").toDF("type", "date", "ip").cache()
val ip_rdd = ipTable.filter(ipTable("country") === 1).filter(ipTable("province") !== 0).select("start_ip", "end_ip", "province").cache()
ip_rdd.registerTempTable("ip_rdd")
val result = src_rdd
.map(x => ({
var value :String = sqlContext.sql("select province from ip_rdd where start_ip <= 1032301638 and end_ip >= 1032301638 order by province limit 1" ).head().toString()
pvMap(x).concat(value)
pvMap(x)
}, 1))
.reduceByKey(_ + _)
這里在Map程序中調sqlContext,我print了一下,是空的。但是在val result = src_rdd.map 外面呼叫sqlContext.sql就是正常的。
您好,sqlContext.sql里面的陳述句,我是貼了個demo,查詢陳述句是有變數的:
“select province from ip_rdd where start_ip <= " + ipAsNumeric(pvStr(x)) + " and end_ip >= " + ipAsNumeric(pvStr(x)) + " order by province limit 1”
uj5u.com熱心網友回復:
val sqlContext = new SQLContext(sparkContext)
val result = rdd
.map(x => ({
var value :String = sqlContext.sql("select id from table")
}, 1)
你這個table創建了嗎?
表創建了。
整體代碼大體是這樣的:
val conf = new SparkConf()
val sparkContext = new SparkContext(conf)
val sqlContext = new SQLContext(sparkContext)
val srcTable = src.table(srcTbl).cache()
val ipTable = ip.table(ipTbl).cache()
val src_rdd = srcTable.select("type", "date", "ip").toDF("type", "date", "ip").cache()
val ip_rdd = ipTable.filter(ipTable("country") === 1).filter(ipTable("province") !== 0).select("start_ip", "end_ip", "province").cache()
ip_rdd.registerTempTable("ip_rdd")
val result = src_rdd
.map(x => ({
var value :String = sqlContext.sql("select province from ip_rdd where start_ip <= 1032301638 and end_ip >= 1032301638 order by province limit 1" ).head().toString()
pvMap(x).concat(value)
pvMap(x)
}, 1))
.reduceByKey(_ + _)
這里在Map程序中調sqlContext,我print了一下,是空的。但是在val result = src_rdd.map 外面呼叫sqlContext.sql就是正常的。
val sqlContext = new SQLContext(sparkContext)
val result = rdd
.map(x => ({
var value :String = sqlContext.sql("select id from table")
}, 1)
你這個table創建了嗎?
表創建了。
整體代碼大體是這樣的:
val conf = new SparkConf()
val sparkContext = new SparkContext(conf)
val sqlContext = new SQLContext(sparkContext)
val srcTable = src.table(srcTbl).cache()
val ipTable = ip.table(ipTbl).cache()
val src_rdd = srcTable.select("type", "date", "ip").toDF("type", "date", "ip").cache()
val ip_rdd = ipTable.filter(ipTable("country") === 1).filter(ipTable("province") !== 0).select("start_ip", "end_ip", "province").cache()
ip_rdd.registerTempTable("ip_rdd")
val result = src_rdd
.map(x => ({
var value :String = sqlContext.sql("select province from ip_rdd where start_ip <= 1032301638 and end_ip >= 1032301638 order by province limit 1" ).head().toString()
pvMap(x).concat(value)
pvMap(x)
}, 1))
.reduceByKey(_ + _)
這里在Map程序中調sqlContext,我print了一下,是空的。但是在val result = src_rdd.map 外面呼叫sqlContext.sql就是正常的。
您好,sqlContext.sql里面的陳述句,我是貼了個demo,查詢陳述句是有變數的:
“select province from ip_rdd where start_ip <= " + ipAsNumeric(pvStr(x)) + " and end_ip >= " + ipAsNumeric(pvStr(x)) + " order by province limit 1”
我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......