sql >> Database teknologi >  >> RDS >> Mysql

Er det muligt at læse MongoDB-data, behandle dem med Hadoop og udlæse dem til en RDBS (MySQL)?

Flere ting at bemærke:

  1. Det er ikke muligt at eksportere data fra MongoDB til Hadoop ved hjælp af Sqoop. Dette skyldes, at Sqoop bruger JDBC som giver et opkaldsniveau API til SQL-baseret database , men MongoDB er ikke en SQL-baseret database . Du kan se på «MongoDB Connector for Hadoop» at udføre dette arbejde. Connectoren er tilgængelig på GitHub . (Rediger:som du påpegede i din opdatering.)

  2. Sqoop-eksporter udføres som standard ikke i en enkelt transaktion. I stedet, ifølge Sqoop-dokumenterne :

  3. «MongoDB Connector for Hadoop» ser ikke ud til at tvinge den arbejdsgang, du beskriver. Ifølge dokumenterne:

  4. Så vidt jeg forstår fra «MongoDB Connector for Hadoop»:eksempler , ville det være muligt at angive en org.apache.hadoop.mapred.lib.db.DBOutputFormat ind i dit Hadoop MapReduce-job for at skrive outputtet til en MySQL-database. Følg eksemplet fra konnektorlageret:

    job.setMapperClass( TokenizerMapper.class );
    job.setCombinerClass( IntSumReducer.class );
    job.setReducerClass( IntSumReducer.class );
    job.setOutputKeyClass( Text.class );
    job.setOutputValueClass( IntWritable.class );
    job.setInputFormatClass( MongoInputFormat.class );
    /* Instead of:
     * job.setOutputFormatClass( MongoOutputFormat.class );
     * we use an OutputFormatClass that writes the job results 
     * to a MySQL database. Beware that the following OutputFormat 
     * will only write the *key* to the database, but the principle
     * remains the same for all output formatters
     */
    job.setOutputFormatClass( DBOutputFormat.class );
    


  1. Opdeling af afgrænsede værdier i en SQL-kolonne i flere rækker

  2. Sådan ændrer du størrelsen på formularkontrolelementer i Access 2016

  3. Hvordan kan jeg caste en int til en bit i MySQL 5.1?

  4. SQL Server AlwaysOn ( Availability Group ) Arkitektur og trin for trin installation -2