コード例 #1
0
    def post(self, request, baseid, tb, args):
        """
        - desc : insert data into table
        - Request json data example \n
            <texfied>
            <font size = 1>

               <form action="/api/v1/type/dataframe/base/scm/table/tb_test_incomedata_wdnn3/data/CSV/"
                     method="post"
                     enctype="multipart/form-data">
            </font>
            </textfield>
            ---
            parameters:
            - name: body
              paramType: body
              pytype: json
        """
        try:
            if (args == "JSON"):
                jd = jc.load_obj_json(str(request.body, 'utf-8'))
                conf_data = json.dumps(jd.data, cls=CusJsonEncoder)
                data.HbaseManager().post_josn_data(baseid, tb, conf_data)

            elif (args == "CSV"):
                logger.tfmsa_logger("start uploading csv on file system")
                results_data = ""
                if len(request.FILES.keys()) > 0:
                    #loop files
                    for key, requestSingileFile in request.FILES.items():
                        file = requestSingileFile
                        filename = file._name

                        # save file on file system
                        directory = "{0}/{1}/{2}".format(
                            settings.FILE_ROOT, baseid, tb)
                        if not os.path.exists(directory):
                            os.makedirs(directory)
                        fp = open(
                            "{0}/{1}/{2}/{3}".format(settings.FILE_ROOT,
                                                     baseid, tb, filename),
                            'wb')
                        for chunk in file.chunks():
                            fp.write(chunk)
                        fp.close()
                        logger.tfmsa_logger("Before calling save csv_to df")
                        results_data = data.HbaseManager().save_csv_to_df(
                            baseid, tb, filename)
                    else:
                        raise Exception("not supported type")

            return_data = {"status": "200", "result": results_data}
            return Response(json.dumps(return_data))
        except Exception as e:
            return_data = {"status": "404", "result": str(e)}
            return Response(json.dumps(return_data))
コード例 #2
0
    def put(self, request, baseid, tb, args=None):
        """
        - desc : append data on the spark table
        - Request json data example \n
            <texfied>
            <font size = 1>

               <form action="/api/v1/type/dataframe/base/scm/table/tb_test_incomedata_wdnn3/data/CSV/"
                     method="post"
                     enctype="multipart/form-data">
            </font>
            </textfield>
            ---
            parameters:
            - name: body
              paramType: body
        """
        try:
            if (args == "JSON"):
                jd = jc.load_obj_json(str(request.body, 'utf-8'))
                conf_data = json.dumps(jd.data, cls=CusJsonEncoder)
                data.HbaseManager().put_josn_data(baseid, tb, conf_data)

            elif (args == "CSV"):
                logger.tfmsa_logger("start uploading csv on file system")
                if 'file' in request.FILES:
                    file = request.FILES['file']
                    filename = file._name

                    #save upload file on file system
                    directory = "{0}/{1}/{2}".format(settings.FILE_ROOT,
                                                     baseid, tb)
                    if not os.path.exists(directory):
                        os.makedirs(directory)
                    fp = open(
                        "{0}/{1}/{2}/{3}".format(settings.FILE_ROOT, baseid,
                                                 tb, filename), 'wb')
                    for chunk in file.chunks():
                        fp.write(chunk)
                    fp.close()

                    #upload data to hdfs
                    cols = data.HbaseManager().save_csv_to_df(
                        baseid, tb, filename)
                    return HttpResponse('File Uploaded')

            else:
                raise Exception("not supported type")

            return_data = {"status": "200", "result": tb}
            return Response(json.dumps(return_data))
        except Exception as e:
            return_data = {"status": "404", "result": str(e)}
            return Response(json.dumps(return_data))
コード例 #3
0
    def put(self, request, baseid):
        """
        - desc : rename table
        - Request json data example \n
        <texfield>
            <font size = 1>

                {"origin" : "A" ,
                 "modify" : "B"}
            </font>
        </textfield>
            ---
            parameters:
            - name: body
              paramType: body
              pytype: json
        """
        try:
            json_data = json.loads(request.body)
            result = data.HbaseManager().rename_table(baseid,
                                                      json_data['origin'],
                                                      json_data['modify'])
            return_data = {"status": "200", "result": result}
            return Response(json.dumps(return_data))
        except Exception as e:
            return_data = {"status": "400", "result": str(e)}
            return Response(json.dumps(return_data))
コード例 #4
0
    def get(self, request, baseid, tb, args=None):
        """
        - desc : select data form spark table
        """
        try:
            limit = 0  #limits_t["limits"]
            if (args == None):
                result = data.HbaseManager().query_data(
                    baseid, tb, "", args, int(limit))
            else:
                result = data.HbaseManager().query_data(
                    baseid, tb, "", args, int(limit))

            return_data = {"status": "200", "result": result}

            return Response(json.dumps(return_data))
        except Exception as e:
            return_data = {"status": "404", "result": str(e)}
            return Response(json.dumps(return_data))
コード例 #5
0
 def delete(self, request, baseid, tb):
     """
     -desc : delete table
     """
     try:
         result = data.HbaseManager().delete_table(baseid, tb)
         return_data = {"status": "200", "result": result}
         return Response(json.dumps(return_data))
     except Exception as e:
         return_data = {"status": "400", "result": str(e)}
         return Response(json.dumps(return_data))
コード例 #6
0
 def get(self, request, baseid):
     """
     - desc : return all table
     """
     try:
         result = data.HbaseManager().search_database(baseid)
         return_data = {"status": "200", "result": result}
         return Response(json.dumps(return_data))
     except Exception as e:
         return_data = {"status": "400", "result": str(e)}
         return Response(json.dumps(return_data))
コード例 #7
0
 def post(self, request, baseid, tb):
     """
     - desc :create table with given name
     """
     try:
         result = data.HbaseManager().create_table(baseid, tb)
         return_data = {"status": "200", "result": result}
         return Response(json.dumps(return_data))
     except Exception as e:
         return_data = {"status": "400", "result": str(e)}
         return Response(json.dumps(return_data))