Ошибка bluemix pyspark при вызове jdbc

Я использую pySpark в сервисе Spark в Bluemix, чтобы преобразовать что-то в свои данные, а затем записать это в DashDB, также в Bluemix. Но когда я пытаюсь загрузить данные, я получаю следующую ошибку:

Py4JJavaError: Произошла ошибка при вызове o111.jdbc. : org.apache.spark.SparkException: задание прервано из-за сбоя этапа: задача 0 на этапе 4.0 не удалась 10 раз, последний сбой: потеряна задача 0.9 на этапе 4.0 (TID 23, yp-spark-dal09-env5-0045): com.ibm.db2.jcc.am.BatchUpdateException: [jcc][t4][102][10040][4.19.26] Сбой пакета. Пакет был отправлен, но по крайней мере одно исключение произошло для отдельного члена пакета. Используйте getNextException() для получения исключений для определенных пакетных элементов. КОД ОШИБКИ=-4229, SQLSTATE=нуль

Я уже пытался создать новую базу данных DashDB, но получаю ту же ошибку. Затем я попытался создать еще один блокнот, но он также не работает. Я пытался остановить все ядра и запускать только ядро ​​за раз, не работает.

Во всех блокнотах, в которые я пытаюсь записать данные из фрейма данных, я получаю ту же ошибку, но в одних и тех же случаях данные загружаются, а в других нет.

Это код, который я использую для записи:

for num in range(0,22):
(shared_df_first
     .select(
        Func.col('Customer').alias("CUSTOMER"),
        Func.col('Customer Environment').alias("CUST_ENV"),
        Func.col('Device').alias("DEVICE"),
        Func.col('User ID').alias("USER_ID"),
        Func.col('Date').alias("DATE"),
        Func.col('Time').alias("TIME"),
        Func.col('Requester').alias("REQUESTER"),
        Func.col('Manager').alias("MANAGER"),
        Func.col('Manager Mail').alias("MANAGER_MAIL"),
        Func.col('Ticket').alias("TICKET"),
        Func.col('Request').alias("REQUEST"),
        Func.col('Teste').alias("TESTE"),
        Func.col('Approver USERID').alias("APPROVER_USERID"),
        Func.col('Approver Name').alias("APPROVER_NAME"),
        Func.col('Period in hours').alias("PERIOD"),
        Func.col('Business Need').alias("BUSINESS_NEED"),
        Func.col('Password Periodic Changable').alias("PASSWORD_PERIODIC_CHANGABLE"),
        Func.col('Is Pre Approved?').alias("IS_PRE_APPROVED"),
        Func.col('Has Personal User ID?').alias("HAS_PERSONAL_USER_ID"),
        Func.col('Check in way').alias("CHECK_IN_WAY"),
        Func.col('SLA').alias("SLA"),
        Func.col('Invalid Business Need').alias("BUSINESS_NEED_INVALID")
    )
    .write
    .jdbc("jdbc:db2://bluemix05.bluforcloud.com:50000/BLUDB", "DASH014638.WATSON_UAT_DEV", "append", propertiesDBDash
)
print num + 1



df = ds_clean.toDF(["account_id","customer","device_name","device_os","user_id","user_id_type","creation_date","last_logon","password_is_never_expires","responsible",
                "privileges","user_id_status"])
propertiesDBDash = {
                "user":"dash014638",
                "password":"pwd"}
df.write.mode("append").jdbc("jdbc:db2://bluemix05.bluforcloud.com:50000/BLUDB", "DASH014638.DORMANT_PROD",properties=propertiesDBDash)

df = ds_clean.toDF(["REQUEST_NUMBER","TYPE_TICKET","SOLUTIONER","CUSTOMER","DELIVERY","OPEN_DATE","OPEN_TIME","CLOSE_DATE","CLOSE_TIME","SERVICE","DEVICE","PLATFORM","REQUESTER","REQUESTER_MANAGER_MAIL","SLA","ELAPSED_TIME","SLA_STATUS","URGENCY","ACTION","REQUEST_STATUS"])

propertiesDBDash = {
                "user":"dash014638",
                "password":"pwd"}
df.write.mode("append").jdbc("jdbc:db2://bluemix05.bluforcloud.com:50000/BLUDB", "DASH014638.WATSON_REQUEST_NEW",properties=propertiesDBDash)

person Bruno Hirata    schedule 15.09.2016    source источник


Ответы (1)


Похоже, что Bluemix не показывает все ошибки, полученные dashDB. Итак, настоящая проблема здесь в том, что я пытаюсь вставить данные больше, чем поле данных, указанное в dashDB.

person Bruno Hirata    schedule 20.09.2016