RandomTextWriter.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:39k
源码类别:

网格计算

开发平台:

Java

  1. /**
  2.  * Licensed to the Apache Software Foundation (ASF) under one
  3.  * or more contributor license agreements.  See the NOTICE file
  4.  * distributed with this work for additional information
  5.  * regarding copyright ownership.  The ASF licenses this file
  6.  * to you under the Apache License, Version 2.0 (the
  7.  * "License"); you may not use this file except in compliance
  8.  * with the License.  You may obtain a copy of the License at
  9.  *
  10.  *     http://www.apache.org/licenses/LICENSE-2.0
  11.  *
  12.  * Unless required by applicable law or agreed to in writing, software
  13.  * distributed under the License is distributed on an "AS IS" BASIS,
  14.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15.  * See the License for the specific language governing permissions and
  16.  * limitations under the License.
  17.  */
  18. package org.apache.hadoop.examples;
  19. import java.io.IOException;
  20. import java.util.ArrayList;
  21. import java.util.Date;
  22. import java.util.List;
  23. import java.util.Random;
  24. import org.apache.hadoop.conf.Configuration;
  25. import org.apache.hadoop.conf.Configured;
  26. import org.apache.hadoop.fs.Path;
  27. import org.apache.hadoop.io.Text;
  28. import org.apache.hadoop.mapred.ClusterStatus;
  29. import org.apache.hadoop.mapred.FileOutputFormat;
  30. import org.apache.hadoop.mapred.JobClient;
  31. import org.apache.hadoop.mapred.JobConf;
  32. import org.apache.hadoop.mapred.MapReduceBase;
  33. import org.apache.hadoop.mapred.Mapper;
  34. import org.apache.hadoop.mapred.OutputCollector;
  35. import org.apache.hadoop.mapred.OutputFormat;
  36. import org.apache.hadoop.mapred.Reporter;
  37. import org.apache.hadoop.mapred.SequenceFileOutputFormat;
  38. import org.apache.hadoop.util.Tool;
  39. import org.apache.hadoop.util.ToolRunner;
  40. /**
  41.  * This program uses map/reduce to just run a distributed job where there is
  42.  * no interaction between the tasks and each task writes a large unsorted
  43.  * random sequence of words.
  44.  * In order for this program to generate data for terasort with a 5-10 words
  45.  * per key and 20-100 words per value, have the following config:
  46.  * <xmp>
  47.  * <?xml version="1.0"?>
  48.  * <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  49.  * <configuration>
  50.  *   <property>
  51.  *     <name>test.randomtextwrite.min_words_key</name>
  52.  *     <value>5</value>
  53.  *   </property>
  54.  *   <property>
  55.  *     <name>test.randomtextwrite.max_words_key</name>
  56.  *     <value>10</value>
  57.  *   </property>
  58.  *   <property>
  59.  *     <name>test.randomtextwrite.min_words_value</name>
  60.  *     <value>20</value>
  61.  *   </property>
  62.  *   <property>
  63.  *     <name>test.randomtextwrite.max_words_value</name>
  64.  *     <value>100</value>
  65.  *   </property>
  66.  *   <property>
  67.  *     <name>test.randomtextwrite.total_bytes</name>
  68.  *     <value>1099511627776</value>
  69.  *   </property>
  70.  * </configuration></xmp>
  71.  * 
  72.  * Equivalently, {@link RandomTextWriter} also supports all the above options
  73.  * and ones supported by {@link Tool} via the command-line.
  74.  * 
  75.  * To run: bin/hadoop jar hadoop-${version}-examples.jar randomtextwriter
  76.  *            [-outFormat <i>output format class</i>] <i>output</i> 
  77.  */
  78. public class RandomTextWriter extends Configured implements Tool {
  79.   
  80.   static int printUsage() {
  81.     System.out.println("randomtextwriter " +
  82.                        "[-outFormat <output format class>] " + 
  83.                        "<output>");
  84.     ToolRunner.printGenericCommandUsage(System.out);
  85.     return -1;
  86.   }
  87.   
  88.   /**
  89.    * User counters
  90.    */
  91.   static enum Counters { RECORDS_WRITTEN, BYTES_WRITTEN }
  92.   static class Map extends MapReduceBase 
  93.     implements Mapper<Text, Text, Text, Text> {
  94.     
  95.     private long numBytesToWrite;
  96.     private int minWordsInKey;
  97.     private int wordsInKeyRange;
  98.     private int minWordsInValue;
  99.     private int wordsInValueRange;
  100.     private Random random = new Random();
  101.     
  102.     /**
  103.      * Save the configuration value that we need to write the data.
  104.      */
  105.     public void configure(JobConf job) {
  106.       numBytesToWrite = job.getLong("test.randomtextwrite.bytes_per_map",
  107.                                     1*1024*1024*1024);
  108.       minWordsInKey = 
  109.         job.getInt("test.randomtextwrite.min_words_key", 5);
  110.       wordsInKeyRange = 
  111.         (job.getInt("test.randomtextwrite.max_words_key", 10) - 
  112.          minWordsInKey);
  113.       minWordsInValue = 
  114.         job.getInt("test.randomtextwrite.min_words_value", 10);
  115.       wordsInValueRange = 
  116.         (job.getInt("test.randomtextwrite.max_words_value", 100) - 
  117.          minWordsInValue);
  118.     }
  119.     
  120.     /**
  121.      * Given an output filename, write a bunch of random records to it.
  122.      */
  123.     public void map(Text key, Text value,
  124.                     OutputCollector<Text, Text> output, 
  125.                     Reporter reporter) throws IOException {
  126.       int itemCount = 0;
  127.       while (numBytesToWrite > 0) {
  128.         // Generate the key/value 
  129.         int noWordsKey = minWordsInKey + 
  130.           (wordsInKeyRange != 0 ? random.nextInt(wordsInKeyRange) : 0);
  131.         int noWordsValue = minWordsInValue + 
  132.           (wordsInValueRange != 0 ? random.nextInt(wordsInValueRange) : 0);
  133.         Text keyWords = generateSentence(noWordsKey);
  134.         Text valueWords = generateSentence(noWordsValue);
  135.         
  136.         // Write the sentence 
  137.         output.collect(keyWords, valueWords);
  138.         
  139.         numBytesToWrite -= (keyWords.getLength() + valueWords.getLength());
  140.         
  141.         // Update counters, progress etc.
  142.         reporter.incrCounter(Counters.BYTES_WRITTEN, 
  143.                              (keyWords.getLength()+valueWords.getLength()));
  144.         reporter.incrCounter(Counters.RECORDS_WRITTEN, 1);
  145.         if (++itemCount % 200 == 0) {
  146.           reporter.setStatus("wrote record " + itemCount + ". " + 
  147.                              numBytesToWrite + " bytes left.");
  148.         }
  149.       }
  150.       reporter.setStatus("done with " + itemCount + " records.");
  151.     }
  152.     
  153.     private Text generateSentence(int noWords) {
  154.       StringBuffer sentence = new StringBuffer();
  155.       String space = " ";
  156.       for (int i=0; i < noWords; ++i) {
  157.         sentence.append(words[random.nextInt(words.length)]);
  158.         sentence.append(space);
  159.       }
  160.       return new Text(sentence.toString());
  161.     }
  162.   }
  163.   
  164.   /**
  165.    * This is the main routine for launching a distributed random write job.
  166.    * It runs 10 maps/node and each node writes 1 gig of data to a DFS file.
  167.    * The reduce doesn't do anything.
  168.    * 
  169.    * @throws IOException 
  170.    */
  171.   public int run(String[] args) throws Exception {    
  172.     if (args.length == 0) {
  173.       return printUsage();    
  174.     }
  175.     
  176.     JobConf job = new JobConf(getConf());
  177.     
  178.     job.setJarByClass(RandomTextWriter.class);
  179.     job.setJobName("random-text-writer");
  180.     
  181.     job.setOutputKeyClass(Text.class);
  182.     job.setOutputValueClass(Text.class);
  183.     
  184.     job.setInputFormat(RandomWriter.RandomInputFormat.class);
  185.     job.setMapperClass(Map.class);        
  186.     
  187.     JobClient client = new JobClient(job);
  188.     ClusterStatus cluster = client.getClusterStatus();
  189.     int numMapsPerHost = job.getInt("test.randomtextwrite.maps_per_host", 10);
  190.     long numBytesToWritePerMap = job.getLong("test.randomtextwrite.bytes_per_map",
  191.                                              1*1024*1024*1024);
  192.     if (numBytesToWritePerMap == 0) {
  193.       System.err.println("Cannot have test.randomtextwrite.bytes_per_map set to 0");
  194.       return -2;
  195.     }
  196.     long totalBytesToWrite = job.getLong("test.randomtextwrite.total_bytes", 
  197.          numMapsPerHost*numBytesToWritePerMap*cluster.getTaskTrackers());
  198.     int numMaps = (int) (totalBytesToWrite / numBytesToWritePerMap);
  199.     if (numMaps == 0 && totalBytesToWrite > 0) {
  200.       numMaps = 1;
  201.       job.setLong("test.randomtextwrite.bytes_per_map", totalBytesToWrite);
  202.     }
  203.     
  204.     Class<? extends OutputFormat> outputFormatClass = 
  205.       SequenceFileOutputFormat.class;
  206.     List<String> otherArgs = new ArrayList<String>();
  207.     for(int i=0; i < args.length; ++i) {
  208.       try {
  209.         if ("-outFormat".equals(args[i])) {
  210.           outputFormatClass = 
  211.             Class.forName(args[++i]).asSubclass(OutputFormat.class);
  212.         } else {
  213.           otherArgs.add(args[i]);
  214.         }
  215.       } catch (ArrayIndexOutOfBoundsException except) {
  216.         System.out.println("ERROR: Required parameter missing from " +
  217.             args[i-1]);
  218.         return printUsage(); // exits
  219.       }
  220.     }
  221.     job.setOutputFormat(outputFormatClass);
  222.     FileOutputFormat.setOutputPath(job, new Path(otherArgs.get(0)));
  223.     
  224.     job.setNumMapTasks(numMaps);
  225.     System.out.println("Running " + numMaps + " maps.");
  226.     
  227.     // reducer NONE
  228.     job.setNumReduceTasks(0);
  229.     
  230.     Date startTime = new Date();
  231.     System.out.println("Job started: " + startTime);
  232.     JobClient.runJob(job);
  233.     Date endTime = new Date();
  234.     System.out.println("Job ended: " + endTime);
  235.     System.out.println("The job took " + 
  236.                        (endTime.getTime() - startTime.getTime()) /1000 + 
  237.                        " seconds.");
  238.     
  239.     return 0;
  240.   }
  241.   
  242.   public static void main(String[] args) throws Exception {
  243.     int res = ToolRunner.run(new Configuration(), new RandomTextWriter(), args);
  244.     System.exit(res);
  245.   }
  246.   /**
  247.    * A random list of 100 words from /usr/share/dict/words
  248.    */
  249.   private static String[] words = {
  250.                                    "diurnalness", "Homoiousian",
  251.                                    "spiranthic", "tetragynian",
  252.                                    "silverhead", "ungreat",
  253.                                    "lithograph", "exploiter",
  254.                                    "physiologian", "by",
  255.                                    "hellbender", "Filipendula",
  256.                                    "undeterring", "antiscolic",
  257.                                    "pentagamist", "hypoid",
  258.                                    "cacuminal", "sertularian",
  259.                                    "schoolmasterism", "nonuple",
  260.                                    "gallybeggar", "phytonic",
  261.                                    "swearingly", "nebular",
  262.                                    "Confervales", "thermochemically",
  263.                                    "characinoid", "cocksuredom",
  264.                                    "fallacious", "feasibleness",
  265.                                    "debromination", "playfellowship",
  266.                                    "tramplike", "testa",
  267.                                    "participatingly", "unaccessible",
  268.                                    "bromate", "experientialist",
  269.                                    "roughcast", "docimastical",
  270.                                    "choralcelo", "blightbird",
  271.                                    "peptonate", "sombreroed",
  272.                                    "unschematized", "antiabolitionist",
  273.                                    "besagne", "mastication",
  274.                                    "bromic", "sviatonosite",
  275.                                    "cattimandoo", "metaphrastical",
  276.                                    "endotheliomyoma", "hysterolysis",
  277.                                    "unfulminated", "Hester",
  278.                                    "oblongly", "blurredness",
  279.                                    "authorling", "chasmy",
  280.                                    "Scorpaenidae", "toxihaemia",
  281.                                    "Dictograph", "Quakerishly",
  282.                                    "deaf", "timbermonger",
  283.                                    "strammel", "Thraupidae",
  284.                                    "seditious", "plerome",
  285.                                    "Arneb", "eristically",
  286.                                    "serpentinic", "glaumrie",
  287.                                    "socioromantic", "apocalypst",
  288.                                    "tartrous", "Bassaris",
  289.                                    "angiolymphoma", "horsefly",
  290.                                    "kenno", "astronomize",
  291.                                    "euphemious", "arsenide",
  292.                                    "untongued", "parabolicness",
  293.                                    "uvanite", "helpless",
  294.                                    "gemmeous", "stormy",
  295.                                    "templar", "erythrodextrin",
  296.                                    "comism", "interfraternal",
  297.                                    "preparative", "parastas",
  298.                                    "frontoorbital", "Ophiosaurus",
  299.                                    "diopside", "serosanguineous",
  300.                                    "ununiformly", "karyological",
  301.                                    "collegian", "allotropic",
  302.                                    "depravity", "amylogenesis",
  303.                                    "reformatory", "epidymides",
  304.                                    "pleurotropous", "trillium",
  305.                                    "dastardliness", "coadvice",
  306.                                    "embryotic", "benthonic",
  307.                                    "pomiferous", "figureheadship",
  308.                                    "Megaluridae", "Harpa",
  309.                                    "frenal", "commotion",
  310.                                    "abthainry", "cobeliever",
  311.                                    "manilla", "spiciferous",
  312.                                    "nativeness", "obispo",
  313.                                    "monilioid", "biopsic",
  314.                                    "valvula", "enterostomy",
  315.                                    "planosubulate", "pterostigma",
  316.                                    "lifter", "triradiated",
  317.                                    "venialness", "tum",
  318.                                    "archistome", "tautness",
  319.                                    "unswanlike", "antivenin",
  320.                                    "Lentibulariaceae", "Triphora",
  321.                                    "angiopathy", "anta",
  322.                                    "Dawsonia", "becomma",
  323.                                    "Yannigan", "winterproof",
  324.                                    "antalgol", "harr",
  325.                                    "underogating", "ineunt",
  326.                                    "cornberry", "flippantness",
  327.                                    "scyphostoma", "approbation",
  328.                                    "Ghent", "Macraucheniidae",
  329.                                    "scabbiness", "unanatomized",
  330.                                    "photoelasticity", "eurythermal",
  331.                                    "enation", "prepavement",
  332.                                    "flushgate", "subsequentially",
  333.                                    "Edo", "antihero",
  334.                                    "Isokontae", "unforkedness",
  335.                                    "porriginous", "daytime",
  336.                                    "nonexecutive", "trisilicic",
  337.                                    "morphiomania", "paranephros",
  338.                                    "botchedly", "impugnation",
  339.                                    "Dodecatheon", "obolus",
  340.                                    "unburnt", "provedore",
  341.                                    "Aktistetae", "superindifference",
  342.                                    "Alethea", "Joachimite",
  343.                                    "cyanophilous", "chorograph",
  344.                                    "brooky", "figured",
  345.                                    "periclitation", "quintette",
  346.                                    "hondo", "ornithodelphous",
  347.                                    "unefficient", "pondside",
  348.                                    "bogydom", "laurinoxylon",
  349.                                    "Shiah", "unharmed",
  350.                                    "cartful", "noncrystallized",
  351.                                    "abusiveness", "cromlech",
  352.                                    "japanned", "rizzomed",
  353.                                    "underskin", "adscendent",
  354.                                    "allectory", "gelatinousness",
  355.                                    "volcano", "uncompromisingly",
  356.                                    "cubit", "idiotize",
  357.                                    "unfurbelowed", "undinted",
  358.                                    "magnetooptics", "Savitar",
  359.                                    "diwata", "ramosopalmate",
  360.                                    "Pishquow", "tomorn",
  361.                                    "apopenptic", "Haversian",
  362.                                    "Hysterocarpus", "ten",
  363.                                    "outhue", "Bertat",
  364.                                    "mechanist", "asparaginic",
  365.                                    "velaric", "tonsure",
  366.                                    "bubble", "Pyrales",
  367.                                    "regardful", "glyphography",
  368.                                    "calabazilla", "shellworker",
  369.                                    "stradametrical", "havoc",
  370.                                    "theologicopolitical", "sawdust",
  371.                                    "diatomaceous", "jajman",
  372.                                    "temporomastoid", "Serrifera",
  373.                                    "Ochnaceae", "aspersor",
  374.                                    "trailmaking", "Bishareen",
  375.                                    "digitule", "octogynous",
  376.                                    "epididymitis", "smokefarthings",
  377.                                    "bacillite", "overcrown",
  378.                                    "mangonism", "sirrah",
  379.                                    "undecorated", "psychofugal",
  380.                                    "bismuthiferous", "rechar",
  381.                                    "Lemuridae", "frameable",
  382.                                    "thiodiazole", "Scanic",
  383.                                    "sportswomanship", "interruptedness",
  384.                                    "admissory", "osteopaedion",
  385.                                    "tingly", "tomorrowness",
  386.                                    "ethnocracy", "trabecular",
  387.                                    "vitally", "fossilism",
  388.                                    "adz", "metopon",
  389.                                    "prefatorial", "expiscate",
  390.                                    "diathermacy", "chronist",
  391.                                    "nigh", "generalizable",
  392.                                    "hysterogen", "aurothiosulphuric",
  393.                                    "whitlowwort", "downthrust",
  394.                                    "Protestantize", "monander",
  395.                                    "Itea", "chronographic",
  396.                                    "silicize", "Dunlop",
  397.                                    "eer", "componental",
  398.                                    "spot", "pamphlet",
  399.                                    "antineuritic", "paradisean",
  400.                                    "interruptor", "debellator",
  401.                                    "overcultured", "Florissant",
  402.                                    "hyocholic", "pneumatotherapy",
  403.                                    "tailoress", "rave",
  404.                                    "unpeople", "Sebastian",
  405.                                    "thermanesthesia", "Coniferae",
  406.                                    "swacking", "posterishness",
  407.                                    "ethmopalatal", "whittle",
  408.                                    "analgize", "scabbardless",
  409.                                    "naught", "symbiogenetically",
  410.                                    "trip", "parodist",
  411.                                    "columniform", "trunnel",
  412.                                    "yawler", "goodwill",
  413.                                    "pseudohalogen", "swangy",
  414.                                    "cervisial", "mediateness",
  415.                                    "genii", "imprescribable",
  416.                                    "pony", "consumptional",
  417.                                    "carposporangial", "poleax",
  418.                                    "bestill", "subfebrile",
  419.                                    "sapphiric", "arrowworm",
  420.                                    "qualminess", "ultraobscure",
  421.                                    "thorite", "Fouquieria",
  422.                                    "Bermudian", "prescriber",
  423.                                    "elemicin", "warlike",
  424.                                    "semiangle", "rotular",
  425.                                    "misthread", "returnability",
  426.                                    "seraphism", "precostal",
  427.                                    "quarried", "Babylonism",
  428.                                    "sangaree", "seelful",
  429.                                    "placatory", "pachydermous",
  430.                                    "bozal", "galbulus",
  431.                                    "spermaphyte", "cumbrousness",
  432.                                    "pope", "signifier",
  433.                                    "Endomycetaceae", "shallowish",
  434.                                    "sequacity", "periarthritis",
  435.                                    "bathysphere", "pentosuria",
  436.                                    "Dadaism", "spookdom",
  437.                                    "Consolamentum", "afterpressure",
  438.                                    "mutter", "louse",
  439.                                    "ovoviviparous", "corbel",
  440.                                    "metastoma", "biventer",
  441.                                    "Hydrangea", "hogmace",
  442.                                    "seizing", "nonsuppressed",
  443.                                    "oratorize", "uncarefully",
  444.                                    "benzothiofuran", "penult",
  445.                                    "balanocele", "macropterous",
  446.                                    "dishpan", "marten",
  447.                                    "absvolt", "jirble",
  448.                                    "parmelioid", "airfreighter",
  449.                                    "acocotl", "archesporial",
  450.                                    "hypoplastral", "preoral",
  451.                                    "quailberry", "cinque",
  452.                                    "terrestrially", "stroking",
  453.                                    "limpet", "moodishness",
  454.                                    "canicule", "archididascalian",
  455.                                    "pompiloid", "overstaid",
  456.                                    "introducer", "Italical",
  457.                                    "Christianopaganism", "prescriptible",
  458.                                    "subofficer", "danseuse",
  459.                                    "cloy", "saguran",
  460.                                    "frictionlessly", "deindividualization",
  461.                                    "Bulanda", "ventricous",
  462.                                    "subfoliar", "basto",
  463.                                    "scapuloradial", "suspend",
  464.                                    "stiffish", "Sphenodontidae",
  465.                                    "eternal", "verbid",
  466.                                    "mammonish", "upcushion",
  467.                                    "barkometer", "concretion",
  468.                                    "preagitate", "incomprehensible",
  469.                                    "tristich", "visceral",
  470.                                    "hemimelus", "patroller",
  471.                                    "stentorophonic", "pinulus",
  472.                                    "kerykeion", "brutism",
  473.                                    "monstership", "merciful",
  474.                                    "overinstruct", "defensibly",
  475.                                    "bettermost", "splenauxe",
  476.                                    "Mormyrus", "unreprimanded",
  477.                                    "taver", "ell",
  478.                                    "proacquittal", "infestation",
  479.                                    "overwoven", "Lincolnlike",
  480.                                    "chacona", "Tamil",
  481.                                    "classificational", "lebensraum",
  482.                                    "reeveland", "intuition",
  483.                                    "Whilkut", "focaloid",
  484.                                    "Eleusinian", "micromembrane",
  485.                                    "byroad", "nonrepetition",
  486.                                    "bacterioblast", "brag",
  487.                                    "ribaldrous", "phytoma",
  488.                                    "counteralliance", "pelvimetry",
  489.                                    "pelf", "relaster",
  490.                                    "thermoresistant", "aneurism",
  491.                                    "molossic", "euphonym",
  492.                                    "upswell", "ladhood",
  493.                                    "phallaceous", "inertly",
  494.                                    "gunshop", "stereotypography",
  495.                                    "laryngic", "refasten",
  496.                                    "twinling", "oflete",
  497.                                    "hepatorrhaphy", "electrotechnics",
  498.                                    "cockal", "guitarist",
  499.                                    "topsail", "Cimmerianism",
  500.                                    "larklike", "Llandovery",
  501.                                    "pyrocatechol", "immatchable",
  502.                                    "chooser", "metrocratic",
  503.                                    "craglike", "quadrennial",
  504.                                    "nonpoisonous", "undercolored",
  505.                                    "knob", "ultratense",
  506.                                    "balladmonger", "slait",
  507.                                    "sialadenitis", "bucketer",
  508.                                    "magnificently", "unstipulated",
  509.                                    "unscourged", "unsupercilious",
  510.                                    "packsack", "pansophism",
  511.                                    "soorkee", "percent",
  512.                                    "subirrigate", "champer",
  513.                                    "metapolitics", "spherulitic",
  514.                                    "involatile", "metaphonical",
  515.                                    "stachyuraceous", "speckedness",
  516.                                    "bespin", "proboscidiform",
  517.                                    "gul", "squit",
  518.                                    "yeelaman", "peristeropode",
  519.                                    "opacousness", "shibuichi",
  520.                                    "retinize", "yote",
  521.                                    "misexposition", "devilwise",
  522.                                    "pumpkinification", "vinny",
  523.                                    "bonze", "glossing",
  524.                                    "decardinalize", "transcortical",
  525.                                    "serphoid", "deepmost",
  526.                                    "guanajuatite", "wemless",
  527.                                    "arval", "lammy",
  528.                                    "Effie", "Saponaria",
  529.                                    "tetrahedral", "prolificy",
  530.                                    "excerpt", "dunkadoo",
  531.                                    "Spencerism", "insatiately",
  532.                                    "Gilaki", "oratorship",
  533.                                    "arduousness", "unbashfulness",
  534.                                    "Pithecolobium", "unisexuality",
  535.                                    "veterinarian", "detractive",
  536.                                    "liquidity", "acidophile",
  537.                                    "proauction", "sural",
  538.                                    "totaquina", "Vichyite",
  539.                                    "uninhabitedness", "allegedly",
  540.                                    "Gothish", "manny",
  541.                                    "Inger", "flutist",
  542.                                    "ticktick", "Ludgatian",
  543.                                    "homotransplant", "orthopedical",
  544.                                    "diminutively", "monogoneutic",
  545.                                    "Kenipsim", "sarcologist",
  546.                                    "drome", "stronghearted",
  547.                                    "Fameuse", "Swaziland",
  548.                                    "alen", "chilblain",
  549.                                    "beatable", "agglomeratic",
  550.                                    "constitutor", "tendomucoid",
  551.                                    "porencephalous", "arteriasis",
  552.                                    "boser", "tantivy",
  553.                                    "rede", "lineamental",
  554.                                    "uncontradictableness", "homeotypical",
  555.                                    "masa", "folious",
  556.                                    "dosseret", "neurodegenerative",
  557.                                    "subtransverse", "Chiasmodontidae",
  558.                                    "palaeotheriodont", "unstressedly",
  559.                                    "chalcites", "piquantness",
  560.                                    "lampyrine", "Aplacentalia",
  561.                                    "projecting", "elastivity",
  562.                                    "isopelletierin", "bladderwort",
  563.                                    "strander", "almud",
  564.                                    "iniquitously", "theologal",
  565.                                    "bugre", "chargeably",
  566.                                    "imperceptivity", "meriquinoidal",
  567.                                    "mesophyte", "divinator",
  568.                                    "perfunctory", "counterappellant",
  569.                                    "synovial", "charioteer",
  570.                                    "crystallographical", "comprovincial",
  571.                                    "infrastapedial", "pleasurehood",
  572.                                    "inventurous", "ultrasystematic",
  573.                                    "subangulated", "supraoesophageal",
  574.                                    "Vaishnavism", "transude",
  575.                                    "chrysochrous", "ungrave",
  576.                                    "reconciliable", "uninterpleaded",
  577.                                    "erlking", "wherefrom",
  578.                                    "aprosopia", "antiadiaphorist",
  579.                                    "metoxazine", "incalculable",
  580.                                    "umbellic", "predebit",
  581.                                    "foursquare", "unimmortal",
  582.                                    "nonmanufacture", "slangy",
  583.                                    "predisputant", "familist",
  584.                                    "preaffiliate", "friarhood",
  585.                                    "corelysis", "zoonitic",
  586.                                    "halloo", "paunchy",
  587.                                    "neuromimesis", "aconitine",
  588.                                    "hackneyed", "unfeeble",
  589.                                    "cubby", "autoschediastical",
  590.                                    "naprapath", "lyrebird",
  591.                                    "inexistency", "leucophoenicite",
  592.                                    "ferrogoslarite", "reperuse",
  593.                                    "uncombable", "tambo",
  594.                                    "propodiale", "diplomatize",
  595.                                    "Russifier", "clanned",
  596.                                    "corona", "michigan",
  597.                                    "nonutilitarian", "transcorporeal",
  598.                                    "bought", "Cercosporella",
  599.                                    "stapedius", "glandularly",
  600.                                    "pictorially", "weism",
  601.                                    "disilane", "rainproof",
  602.                                    "Caphtor", "scrubbed",
  603.                                    "oinomancy", "pseudoxanthine",
  604.                                    "nonlustrous", "redesertion",
  605.                                    "Oryzorictinae", "gala",
  606.                                    "Mycogone", "reappreciate",
  607.                                    "cyanoguanidine", "seeingness",
  608.                                    "breadwinner", "noreast",
  609.                                    "furacious", "epauliere",
  610.                                    "omniscribent", "Passiflorales",
  611.                                    "uninductive", "inductivity",
  612.                                    "Orbitolina", "Semecarpus",
  613.                                    "migrainoid", "steprelationship",
  614.                                    "phlogisticate", "mesymnion",
  615.                                    "sloped", "edificator",
  616.                                    "beneficent", "culm",
  617.                                    "paleornithology", "unurban",
  618.                                    "throbless", "amplexifoliate",
  619.                                    "sesquiquintile", "sapience",
  620.                                    "astucious", "dithery",
  621.                                    "boor", "ambitus",
  622.                                    "scotching", "uloid",
  623.                                    "uncompromisingness", "hoove",
  624.                                    "waird", "marshiness",
  625.                                    "Jerusalem", "mericarp",
  626.                                    "unevoked", "benzoperoxide",
  627.                                    "outguess", "pyxie",
  628.                                    "hymnic", "euphemize",
  629.                                    "mendacity", "erythremia",
  630.                                    "rosaniline", "unchatteled",
  631.                                    "lienteria", "Bushongo",
  632.                                    "dialoguer", "unrepealably",
  633.                                    "rivethead", "antideflation",
  634.                                    "vinegarish", "manganosiderite",
  635.                                    "doubtingness", "ovopyriform",
  636.                                    "Cephalodiscus", "Muscicapa",
  637.                                    "Animalivora", "angina",
  638.                                    "planispheric", "ipomoein",
  639.                                    "cuproiodargyrite", "sandbox",
  640.                                    "scrat", "Munnopsidae",
  641.                                    "shola", "pentafid",
  642.                                    "overstudiousness", "times",
  643.                                    "nonprofession", "appetible",
  644.                                    "valvulotomy", "goladar",
  645.                                    "uniarticular", "oxyterpene",
  646.                                    "unlapsing", "omega",
  647.                                    "trophonema", "seminonflammable",
  648.                                    "circumzenithal", "starer",
  649.                                    "depthwise", "liberatress",
  650.                                    "unleavened", "unrevolting",
  651.                                    "groundneedle", "topline",
  652.                                    "wandoo", "umangite",
  653.                                    "ordinant", "unachievable",
  654.                                    "oversand", "snare",
  655.                                    "avengeful", "unexplicit",
  656.                                    "mustafina", "sonable",
  657.                                    "rehabilitative", "eulogization",
  658.                                    "papery", "technopsychology",
  659.                                    "impressor", "cresylite",
  660.                                    "entame", "transudatory",
  661.                                    "scotale", "pachydermatoid",
  662.                                    "imaginary", "yeat",
  663.                                    "slipped", "stewardship",
  664.                                    "adatom", "cockstone",
  665.                                    "skyshine", "heavenful",
  666.                                    "comparability", "exprobratory",
  667.                                    "dermorhynchous", "parquet",
  668.                                    "cretaceous", "vesperal",
  669.                                    "raphis", "undangered",
  670.                                    "Glecoma", "engrain",
  671.                                    "counteractively", "Zuludom",
  672.                                    "orchiocatabasis", "Auriculariales",
  673.                                    "warriorwise", "extraorganismal",
  674.                                    "overbuilt", "alveolite",
  675.                                    "tetchy", "terrificness",
  676.                                    "widdle", "unpremonished",
  677.                                    "rebilling", "sequestrum",
  678.                                    "equiconvex", "heliocentricism",
  679.                                    "catabaptist", "okonite",
  680.                                    "propheticism", "helminthagogic",
  681.                                    "calycular", "giantly",
  682.                                    "wingable", "golem",
  683.                                    "unprovided", "commandingness",
  684.                                    "greave", "haply",
  685.                                    "doina", "depressingly",
  686.                                    "subdentate", "impairment",
  687.                                    "decidable", "neurotrophic",
  688.                                    "unpredict", "bicorporeal",
  689.                                    "pendulant", "flatman",
  690.                                    "intrabred", "toplike",
  691.                                    "Prosobranchiata", "farrantly",
  692.                                    "toxoplasmosis", "gorilloid",
  693.                                    "dipsomaniacal", "aquiline",
  694.                                    "atlantite", "ascitic",
  695.                                    "perculsive", "prospectiveness",
  696.                                    "saponaceous", "centrifugalization",
  697.                                    "dinical", "infravaginal",
  698.                                    "beadroll", "affaite",
  699.                                    "Helvidian", "tickleproof",
  700.                                    "abstractionism", "enhedge",
  701.                                    "outwealth", "overcontribute",
  702.                                    "coldfinch", "gymnastic",
  703.                                    "Pincian", "Munychian",
  704.                                    "codisjunct", "quad",
  705.                                    "coracomandibular", "phoenicochroite",
  706.                                    "amender", "selectivity",
  707.                                    "putative", "semantician",
  708.                                    "lophotrichic", "Spatangoidea",
  709.                                    "saccharogenic", "inferent",
  710.                                    "Triconodonta", "arrendation",
  711.                                    "sheepskin", "taurocolla",
  712.                                    "bunghole", "Machiavel",
  713.                                    "triakistetrahedral", "dehairer",
  714.                                    "prezygapophysial", "cylindric",
  715.                                    "pneumonalgia", "sleigher",
  716.                                    "emir", "Socraticism",
  717.                                    "licitness", "massedly",
  718.                                    "instructiveness", "sturdied",
  719.                                    "redecrease", "starosta",
  720.                                    "evictor", "orgiastic",
  721.                                    "squdge", "meloplasty",
  722.                                    "Tsonecan", "repealableness",
  723.                                    "swoony", "myesthesia",
  724.                                    "molecule", "autobiographist",
  725.                                    "reciprocation", "refective",
  726.                                    "unobservantness", "tricae",
  727.                                    "ungouged", "floatability",
  728.                                    "Mesua", "fetlocked",
  729.                                    "chordacentrum", "sedentariness",
  730.                                    "various", "laubanite",
  731.                                    "nectopod", "zenick",
  732.                                    "sequentially", "analgic",
  733.                                    "biodynamics", "posttraumatic",
  734.                                    "nummi", "pyroacetic",
  735.                                    "bot", "redescend",
  736.                                    "dispermy", "undiffusive",
  737.                                    "circular", "trillion",
  738.                                    "Uraniidae", "ploration",
  739.                                    "discipular", "potentness",
  740.                                    "sud", "Hu",
  741.                                    "Eryon", "plugger",
  742.                                    "subdrainage", "jharal",
  743.                                    "abscission", "supermarket",
  744.                                    "countergabion", "glacierist",
  745.                                    "lithotresis", "minniebush",
  746.                                    "zanyism", "eucalypteol",
  747.                                    "sterilely", "unrealize",
  748.                                    "unpatched", "hypochondriacism",
  749.                                    "critically", "cheesecutter",
  750.                                   };
  751. }