random 在线观看,randomaccessfile

  

  两个小表进行联接,sql如下:   

  

  选择计数(*)   

  

  来自dwd。dwd _ yd _ IRAD _ ch _ cs _ active _ d dy   

  

  dwd。dwd _ iaas _ IRAD _ ch _ cs _ extra _ info _ d   

  

  其中dy.day_id='2020-06-28 '   

  

  并且dt.day_id='2020-06-28 '   

  

  并且split(dy.resource_id,'/')1=dt.vm_instance_name   

  

  错误如下:   

  

     

  

  网上解决办法:   

  

  这个错误是由于设置了自动地图连接导致的,进行地图连接时把更大的表放入了内存。因为你这两个都是小表,所以把大的识别为小表了。这个错误不影响结果,如果要关闭错误那就关闭地图连接,设置参数设置蜂巢。自动。转换。join=false   

  

  同事反应相同的一条sql,一个用户执行报错一个用户执行正常,于是用报错用户复现这个地图连接异常,出现如下错误日志:   

  

  2020-09-23 16:443:29,202 Log4j2-TF-2-AsyncLogger-1错误无法调用org。阿帕奇。Hadoop。蜂巢。QL。日志。hushablerandomaccessfile appender中元素hushable mutable random access : Java。郎。illegalstateexception :管理器工厂无法为/hive/operation _ logs/4f 186990创建管理器   

e.appender.routing.RoutingAppender.append(RoutingAppender.java:225) at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:448) at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417) at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:79) at org.apache.logging.log4j.core.async.AsyncLogger.actualAsyncLog(AsyncLogger.java:380) at org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:152) at org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:45) at org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:29) at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:129) at java.lang.Thread.run(Thread.java:745)Caused by: java.lang.IllegalStateException: ManagerFactory unable to create manager for with data at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:115) at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:115) at org.apache.logging.log4j.core.appender.RandomAccessFileManager.getFileManager(RandomAccessFileManager.java:74) at org.apache.hadoop.hive.ql.log.HushableRandomAccessFileAppender.createAppender(HushableRandomAccessFileAppender.java:178) ... 24 more 2020-09-23 16:44:29,205 Log4j2-TF-2-AsyncLogger-1 ERROR Unable to create Appender of type HushableMutableRandomAcc ess 2020-09-23 16:44:29,618 Log4j2-TF-2-AsyncLogger-1 ERROR RandomAccessFileManager (/tmp/hive/operation_logs/4f186997 -4271-4ac5-b450-ce6a3460496e/data_check_20200923164300_d169fb9e-baf6-4dd2-b1dc-fba905c5423d) java.io.IOException: Could not create direct ory /tmp/hive/operation_logs/4f186997-4271-4ac5-b450-ce6a3460496e java.io.IOException: Could not create directory /tmp/hive/operation_log s/4f186997-4271-4ac5-b450-ce6a3460496e at org.apache.logging.log4j.core.util.FileUtils.mkdir(FileUtils.java:127) at org.apache.logging.log4j.core.util.FileUtils.makeParentDirs(FileUtils.java:144) at org.apache.logging.log4j.core.appender.RandomAccessFileManager$RandomAccessFileManagerFactory.createManager(RandomAccessFileMa nager.java:198) at org.apache.logging.log4j.core.appender.RandomAccessFileManager$RandomAccessFileManagerFactory.createManager(RandomAccessFileMa nager.java:177) at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:113) at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:115) at org.apache.logging.log4j.core.appender.RandomAccessFileManager.getFileManager(RandomAccessFileManager.java:74) at org.apache.hadoop.hive.ql.log.HushableRandomAccessFileAppender.createAppender(HushableRandomAccessFileAppender.java:178) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:136) at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:958) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:898) at org.apache.logging.log4j.core.appender.routing.RoutingAppender.createAppender(RoutingAppender.java:271) at org.apache.logging.log4j.core.appender.routing.RoutingAppender.getControl(RoutingAppender.java:255) at org.apache.logging.log4j.core.appender.routing.RoutingAppender.append(RoutingAppender.java:225) at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:448)分析如上错误,发现/tmp/hive/opreation_log目录,去hive配置文件发现如下配置

  


  

  


  

于是去查看这个目录权限发现如下:

  


  

真正解决办法:给这个目录赋权限,重新执行不报错了

  


  

相关文章