Java Spark требует много времени для создания сеанса - PullRequest
0 голосов
/ 26 мая 2020

Я перехожу с python pandas на Java Spark для анализа данных и новичков в этом. В моем проекте я не использую has oop, просто получаю данные из mysql db.

Код такой:

List<QtStkDailyRehabilitation> qtStkDailyRehabilitations = qtStkDailyRehabilitationSelfMapper.getStockDailyKData(stockCode);
SparkSession spark = SparkSession.builder().appName("sparkTest").config("spark.master","local")
        .getOrCreate();
StructField field1 = DataTypes.createStructField("date", DataTypes.DateType, false);
StructField field2 = DataTypes.createStructField("close", DataTypes.FloatType, false);
StructType stockInfo = DataTypes.createStructType(Lists.newArrayList(field1, field2));
...

Поэтому я не устанавливал на моем компьютере было oop. Но я обнаружил, что когда я создаю SparkSession, это занимает много времени - около 20 секунд, и выдает предупреждение.

Журнал показывает ниже:

2020-05-26 18:45:02.507 DEBUG 15880 --- [nio-8031-exec-1] c.e.d.q.d.Q.getStockDailyKData           : ==>  Preparing: SELECT * FROM qt_stk_daily_rehabilitation WHERE (stock_code='002241') ORDER BY trade_date DESC 
2020-05-26 18:45:02.520 DEBUG 15880 --- [nio-8031-exec-1] c.e.d.q.d.Q.getStockDailyKData           : ==> Parameters: 
2020-05-26 18:45:02.873 DEBUG 15880 --- [nio-8031-exec-1] c.e.d.q.d.Q.getStockDailyKData           : <==      Total: 2921
2020-05-26 18:45:12.199  INFO 15880 --- [nio-8031-exec-1] org.apache.spark.SparkContext            : Running Spark version 2.4.3
2020-05-26 18:45:21.335  WARN 15880 --- [nio-8031-exec-1] org.apache.hadoop.util.NativeCodeLoader  : Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2020-05-26 18:45:21.406  INFO 15880 --- [nio-8031-exec-1] org.apache.spark.SparkContext            : Submitted application: sparkTest
2020-05-26 18:45:21.456  INFO 15880 --- [nio-8031-exec-1] org.apache.spark.SecurityManager         : Changing view acls to: edz

Как вы можете видеть. Running Spark version 2.4.3 показывает 10 секунд после того, как sql возвращает результаты, а затем через 9 секунд выводит предупреждение о has oop.

Следующие коды работают нормально, и я могу использовать DataFrame для вычислений, но каждый раз, когда я запускаю этот сеанс создания кода, это займет 20 секунд. Я предполагаю, что он пытается получить доступ к серверу oop, которого у меня нет. Это нормально и как сделать быстрее? Или я могу отключить на данный момент oop, просто чтобы насладиться функциями MLlib?

Спасибо.

...