Облачная платформаAdvanced

Сообщается об ошибке при изменении размера раздела для запущенного Spark Application

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Проблема

Ошибка возникает при изменении размера раздела в Spark application.

Симптом

Пользователю необходимо реализовать несколько мапперов, изменив максимальный размер раздела, чтобы ускорить работу Spark application. Однако ошибка возникает, когда пользователь выполняет команду set для изменения конфигурации Hive.

0: jdbc:hive2://192.168.1.18:21066/> set mapred.max.split.size=1000000;
Error: Error while processing statement: Cannot nodify mapred.max.split.size at runtime. It is not in list of params that are allowed to be modified at runtime( state=42000,code=1)

Анализ причины

  • Прежде чем параметр hive.security.whitelist.switch будет установлен для включения или отключения белого списка в режиме безопасности, разрешённые параметры должны быть сконфигурированы в hive.security.authorization.sqlstd.confwhitelist.

  • В белом списке по умолчанию отсутствует параметр mapred.max.split.size. Поэтому система выводит сообщение, указывающее, что максимальный размер раздела нельзя изменить.

Процедура

  1. Перейдите на страницу конфигурации Hive.

    • For versions earlier than MRS 3.x: Click the cluster name on the MRS console, choose Components > Hive > Service Configuration, and select All from the Basic drop-down list.
      Note

      If the Components tab is unavailable, complete IAM user synchronization first. (On the Dashboard page, click Synchronize on the right side of IAM User Sync to synchronize IAM users.)

    • For MRS 3.x or later: Log in to FusionInsight Manager and choose Cluster > Services > Hive > Configurations > All Configurations.

  2. Search for hive.security.authorization.sqlstd.confwhitelist.append, and add mapred.max.split.size to hive.security.authorization.sqlstd.confwhitelist.append. For details, see Component Operation Guide > Using Hive > Using Hive from Scratch.
  3. Сохраните конфигурацию и перезапустите компонент Hive.
  4. Запустите set mapred.max.split.size=1000000; команду в Hive Beeline CLI снова.