我在向hive中导入数据到动态分区时,也就是执行以下这个命令的时候
hive> INSERT INTO TABLE myhive.tax
PARTITION(TAX_CATEGORIES) SELECT
id,start_date,end_date,tax_items,tax_amount,
tax_categories FROM myhive.temp;
很不幸的报错了。
Job Submission failed with exception
'java.io.IOException(No valid local directories in property: mapreduce.cluster.local.dir)'
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.mr.MapRedTask.
No valid local directories in property:
mapreduce.cluster.local.dir
然后我修改hadoop配置文件mapred-site.xml
路径是/hqy/install/hadoop-3.1.4/etc/hadoop/mapred-site.xml
添加以下内容,解决!
<property>
<name>mapred.local.dir</name>
<value>/var/hadoop/hdfs_folder/mapred/local/</value>
</property>
因为Task 在运行的过程中,是需要写本地文件 系 统 的,hadoop中就有配置选项 mapred .local.dir 来配置这个本地文件的写入点,可以有多个写入点,通常如果每个slave上有多个磁 盘 ,分别挂载在 /disk{1…3} 的话,就可以修改我上面那个配置项来解决