Sqoop Merge命令中的FileNotFound错误

时间:2017-04-20 11:11:51

标签: hadoop sqoop

我正在尝试执行sqoop merge命令,为此,我已经执行了一个Sqoop codegen来将表和jar的表格放入HDFS

Sqoop CodeGen命令:

-rw-r--r--   1 cloudera cloudera       9572 2017-04-20 16:26 codegenclasses/mergetab.class
-rw-r--r--   1 cloudera cloudera       3902 2017-04-20 16:26 codegenclasses/mergetab.jar
-rw-r--r--   1 cloudera cloudera      12330 2017-04-20 16:26 codegenclasses/mergetab.java

我在outdir中有以下文件:/ user / cloudera / codegenclasses

sqoop merge --merge-key id --new-data /user/cloudera/incrdata/incrementaldata --onto /user/cloudera/hivetables/fulltabledata --target-dir /user/cloudera/updateddatam --class-name /user/cloudera/codegenclasses/mergetab.class --jar-file /user/cloudera/codegenclasses/mergetab.jar

我正在运行以下sqoop merge命令来更新我的hive表中的行:

Encountered IOException running import job: java.io.FileNotFoundException: File /user/cloudera/codegenclasses/44059c9b2bd47b95f03866d8d93eff7f/mergetab.jar does not exist

但我得到了错误:

export default class AddUsersForm extends Component {

  PropTypes = {
    onSubmit: PropTypes.func.isRequired,
    usersList: PropTypes.array.isRequired, // List of all users in the company
    usersInPermissions: PropTypes.array.isRequired, // Users who already have access to the resource
  }

  handleChange(users){
    // Adds new user to the list of allowed users, an updated value for this.props.usersInPermissions will be received
    this.props.onSubmit(users);
  }

  render() {
    return (
      <form>
        <Select
          name="users"
          multi={true}
          options={this.props.usersList.filter(user => !this.props.usersInPermissions.includes(user.id))}
          onChange={(users) => this.handleChange(users)}
        />
      </form>
    );
  }

}

我有文件夹中的所有文件,我给出了正确的目录。但我无法确定我在这里做的错误。 有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

在参数User.paginate(page:2 , per_page: 2).pluck(:id).max中,指定的import { ViewRef, Directive, Input, ViewContainerRef } from '@angular/core'; @Directive({ selector: '[view]' }) export class ViewDirective { constructor(private vcRef: ViewContainerRef) {} @Input() set view(view: ViewRef) { this.vcRef.clear(); this.vcRef.insert(view); } ngOnDestroy() { this.vcRef.clear() } } 路径属于本地文件系统。使用private elements: Array<{ view: ViewRef, component: WidgetComponent}> = []; ... addComponent(widget: string ): void{ let component = this.dynamicComponent.addComponent(this.WidgetClasses[widget]); let view: ViewRef = this.dynamicComponent.container.detach(0); this.elements.push({view,component}); this.dynamicComponent.resetContainer(); } 只会存储生成的代码,即<widget *ngFor="let item of elements"> <ng-container *view="item.view"></ng-container> </widget> 。请改用--outdir <dir>

<dir>

然后--outdir。默认情况下,表名为tablename.java

--bindir <dir>