Size: a a a

2020 April 04

GP

Grigory Pomadchin in Moscow Spark
ток на мап стейдже чето происходило
источник

GP

Grigory Pomadchin in Moscow Spark
блин похоже у тебя нет выбора надо принты добавить
источник

GP

Grigory Pomadchin in Moscow Spark
у спарка там были кодоген тесты
источник

ПФ

Паша Финкельштейн... in Moscow Spark
источник

ПФ

Паша Финкельштейн... in Moscow Spark
На самом деле там немало исходники отличаются
источник

GP

Grigory Pomadchin in Moscow Spark
может в UnsafeRowWriterе дело
источник

GP

Grigory Pomadchin in Moscow Spark
жоско отличаются да
источник

ПФ

Паша Финкельштейн... in Moscow Spark
блин, я загнал их в дифф и там почти ничего общего )))
источник

ПФ

Паша Финкельштейн... in Moscow Spark
но вот что интересно: конвертер InternalRow в UnsafeRow выглядит по-разному
источник

GP

Grigory Pomadchin in Moscow Spark
мне кажется надо гдет тут смотреть да
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Выглядит так, как будто wholestage пытается свести работу к работе с чиселкой
источник

ПФ

Паша Финкельштейн... in Moscow Spark
вот код в нём:
/* 031 */     boolean isNull_1 = i.isNullAt(0);
/* 032 */     java.lang.Integer value_1 = isNull_1 ?
/* 033 */     null : ((java.lang.Integer)i.get(0, null));
/* 034 */     boolean isNull_0 = true;
/* 035 */     int value_0 = -1;
/* 036 */     if (!isNull_1) {
/* 037 */
/* 038 */       isNull_0 = false;
/* 039 */       if (!isNull_0) {
/* 040 */         value_0 = value_1.intValue();
/* 041 */       }
/* 042 */     }
/* 043 */     if (isNull_0) {
/* 044 */       mutableStateArray_0[0].setNullAt(0);
/* 045 */     } else {
/* 046 */       mutableStateArray_0[0].write(0, value_0);
/* 047 */     }
/* 048 */     return (mutableStateArray_0[0].getRow());
/* 049 */   }
источник

ПФ

Паша Финкельштейн... in Moscow Spark
А вот без него
/* 031 */     boolean isNull_3 = i.isNullAt(0);
/* 032 */     org.jetbrains.spark.api.Arity1 value_3 = isNull_3 ?
/* 033 */     null : ((org.jetbrains.spark.api.Arity1)i.get(0, null));
/* 034 */     if (isNull_3) {
/* 035 */       throw new NullPointerException(((java.lang.String) references[0] /* errMsg */));
/* 036 */     }
/* 037 */     boolean isNull_1 = true;
/* 038 */     java.lang.Integer value_1 = null;
/* 039 */     if (!false) {
/* 040 */
/* 041 */       isNull_1 = false;
/* 042 */       if (!isNull_1) {
/* 043 */
/* 044 */         Object funcResult_0 = null;
/* 045 */         funcResult_0 = value_3.getA();
/* 046 */
/* 047 */         if (funcResult_0 != null) {
/* 048 */           value_1 = (java.lang.Integer) funcResult_0;
/* 049 */         } else {
/* 050 */           isNull_1 = true;
/* 051 */         }
/* 052 */
/* 053 */
/* 054 */       }
/* 055 */     }
/* 056 */     boolean isNull_0 = true;
/* 057 */     int value_0 = -1;
/* 058 */     if (!isNull_1) {
/* 059 */
/* 060 */       isNull_0 = false;
/* 061 */       if (!isNull_0) {
/* 062 */         value_0 = value_1.intValue();
/* 063 */       }
/* 064 */     }
/* 065 */     if (isNull_0) {
/* 066 */       mutableStateArray_0[0].setNullAt(0);
/* 067 */     } else {
/* 068 */       mutableStateArray_0[0].write(0, value_0);
/* 069 */     }
/* 070 */     return (mutableStateArray_0[0].getRow());
/* 071 */   }
/* 072 */
/* 073 */
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Но если присмотреться там тож должно вылететь исключение!
источник

ПФ

Паша Финкельштейн... in Moscow Spark
А есть разница как поднимать спарк? local, local[*], local [2]?
источник

GP

Grigory Pomadchin in Moscow Spark
Паша Финкельштейн
А есть разница как поднимать спарк? local, local[*], local [2]?
для этог конкретно кейса нет
а вообще да это колво ядер
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Я имел в виду может ли оно себя локально по разному вести )))
источник

GP

Grigory Pomadchin in Moscow Spark
да
источник

GP

Grigory Pomadchin in Moscow Spark
я одним ядром когда заранишь вообще шафл на локале не стриггерить (пример различия в поведении тебе вот)
источник

GP

Grigory Pomadchin in Moscow Spark
хм
источник