Загрузите драйвер mysql-connector-java и сохраните в папке с искровым jar, обратите внимание на приведенный ниже код python, записывая данные в «acotr1», мы должны создать структуру таблицы acotr1 в базе данных mysql
spark = SparkSession .builder.appName ( "прасадад") мастер ( 'локального') конфигурации ( 'spark.driver.extraClassPath', '. D:. \ искрового 2.1.0-бен-hadoop2.7 \ баночка \ MySQL-разъем-Java -5.1.41-bin.jar '). GetOrCreate ()
sc = spark.sparkContext
из pyspark.sql import SQLContext
sqlContext = SQLContext ( sc)
df = sqlContext.read.format ("jdbc") .options (url = "jdbc: mysql: // localhost: 3306 / sakila", driver = "com.mysql.jdbc.Driver ", dbtable =" actor ", user =" root ", password =" Ramyam01 "). load ()
mysql_url =" jdbc: mysql: // localhost: 3306 / sakila? user = root & amp; password = Ramyam01 "
df.write.jdbc (mysql_url, table =" actor1 ", mode =" append ")
Следующий оператор добавляет значение к элементу с идентификатором response
$('#response').append(total);
. Это делает его похожим на то, что вы объединяете строки, но вы не являетесь, вы на самом деле добавив их к элементу
, измените это на
$('#response').text(total);
Вам нужно изменить событие drop, чтобы оно заменило значение элемента на общее число, вам также необходимо сохранить отслеживать, что такое сумма, я предлагаю что-то вроде следующего
$(function() {
var data = [];
var total = 0;
$( "#draggable1" ).draggable();
$( "#draggable2" ).draggable();
$( "#draggable3" ).draggable();
$("#droppable_box").droppable({
drop: function(event, ui) {
var currentId = $(ui.draggable).attr('id');
data.push($(ui.draggable).attr('id'));
if(currentId == "draggable1"){
var myInt1 = parseFloat($('#MealplanCalsPerServing1').val());
}
if(currentId == "draggable2"){
var myInt2 = parseFloat($('#MealplanCalsPerServing2').val());
}
if(currentId == "draggable3"){
var myInt3 = parseFloat($('#MealplanCalsPerServing3').val());
}
if ( typeof myInt1 === 'undefined' || !myInt1 ) {
myInt1 = parseInt(0);
}
if ( typeof myInt2 === 'undefined' || !myInt2){
myInt2 = parseInt(0);
}
if ( typeof myInt3 === 'undefined' || !myInt3){
myInt3 = parseInt(0);
}
total += parseFloat(myInt1 + myInt2 + myInt3);
$('#response').text(total);
}
});
$('#myId').click(function(event) {
$.post("process.php", ({ id: data }), function(return_data, status) {
alert(data);
//alert(total);
});
});
});
. Я перенесла оператор var total = 0;
из события перетаскивания и изменила статус назначения из этого
total = parseFloat(myInt1 + myInt2 + myInt3);
к этому
total += parseFloat(myInt1 + myInt2 + myInt3);
Вот рабочий пример http://jsfiddle.net/axrwkr/RCzGn/
Должно также быть в состоянии сделать это:
total += eval(myInt1) + eval(myInt2) + eval(myInt3);
Это помогло мне в другой, но схожей ситуации.
total
, отдельные компоненты уже использовали parseFloat
. Это не понадобилось во второй раз, для всего.
– vapcguy
14 November 2016 в 15:53