WO2020110239A1 - 情報処理装置及びリネージュプログラム - Google Patents
情報処理装置及びリネージュプログラム Download PDFInfo
- Publication number
- WO2020110239A1 WO2020110239A1 PCT/JP2018/043831 JP2018043831W WO2020110239A1 WO 2020110239 A1 WO2020110239 A1 WO 2020110239A1 JP 2018043831 W JP2018043831 W JP 2018043831W WO 2020110239 A1 WO2020110239 A1 WO 2020110239A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- group
- data flow
- value
- information processing
- processes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Definitions
- the present invention relates to an information processing device and a lineage program.
- FIG. 12 is a diagram showing an example of a data flow displayed by the lineage function.
- the data is a csv (comma-separated values) file, and “out of stock.csv” is selected as a target.
- Elliptical icons represent processes.
- the card icon represents data.
- “Python” is a programming language, and “Python” in the ellipse indicates that the process is created in “Python”.
- a technique for receiving a designation of interest for nodes included in a directed graph and performing a calculation for summarizing nodes that are not interested there is also a technique of calculating summary data that characterizes a metadata object, and overlaying the summary data in the vicinity of a node in a visual expression in which the metadata object is represented by a node and the relationship between the nodes is represented by a line.
- FIG. 13 is a diagram illustrating an example of a data flow in which it is difficult to grasp the whole image.
- the number of processes and csv files included in the history of the csv file selected as the target is so large that it is difficult to grasp the overall image.
- the present invention in one aspect, aims at facilitating the understanding of the overall image of the data flow.
- the information processing device has a compression value storage unit, a compression unit, and a display unit.
- the compressed value storage unit stores compressed value information for managing, for each group, a compressed value indicating a value of compressing a plurality of processes included in a group into one combined process.
- the group is a partial data flow including a plurality of processes in the data flow and data from the input data of the head process of the plurality of processes to the output data of the final process.
- the compression unit combines a plurality of processes of a group having a compression value larger than a predetermined value in a lineage target data flow into one grouping process based on the compression value information stored in the compression value storage unit.
- the display unit displays a compressed data flow in which a plurality of processes are combined into one combined process by the compression unit.
- the present invention can facilitate grasping the overall image of data flow.
- FIG. 1A is a diagram showing a plurality of data flows used for calculating a compression value.
- FIG. 1B is a diagram showing an example of groups extracted from the data flow.
- FIG. 1C is a diagram illustrating an example of determination as different groups.
- FIG. 1D is a diagram showing another example in which different groups are determined.
- FIG. 1E is a first diagram illustrating an example of a group of lineage target data flows.
- FIG. 1F is a second diagram illustrating an example of a group of lineage-targeted data flows.
- FIG. 1G is a third diagram illustrating an example of a group of data flows subject to lineage.
- FIG. 1H is a fourth diagram illustrating an example of a group of data flows subject to lineage.
- FIG. 1A is a diagram showing a plurality of data flows used for calculating a compression value.
- FIG. 1B is a diagram showing an example of groups extracted from the data flow.
- FIG. 1C is a diagram
- FIG. 1I is a first diagram showing an example of combining a plurality of processes into one project.
- FIG. 1J is a second diagram illustrating an example in which a plurality of processes are combined into one project.
- FIG. 1K is a third diagram showing an example in which a plurality of processes are combined into one project.
- FIG. 1L is a diagram showing a compressed data flow of the data flow shown in FIG. 1E.
- FIG. 2 is a diagram illustrating the functional configuration of the information processing apparatus according to the embodiment.
- FIG. 3 is a diagram illustrating an example of the data flow storage unit.
- FIG. 4 is a diagram illustrating an example of the group storage unit.
- FIG. 5 is a diagram illustrating an example of the compressed value storage unit.
- FIG. 6 is a diagram illustrating an example of the lineage storage unit.
- FIG. 7 is a diagram illustrating an example of the group graph storage unit.
- FIG. 8 is a diagram illustrating an example of the acquisition result storage unit.
- FIG. 9 is a diagram illustrating an example of the project storage unit.
- FIG. 10 is a flowchart showing the flow of processing by the information processing device.
- FIG. 11 is a diagram illustrating a hardware configuration of a computer that executes a lineage program according to the embodiment.
- FIG. 12 is a diagram showing an example of a data flow displayed by the lineage function.
- FIG. 13 is a diagram illustrating an example of a data flow in which it is difficult to grasp the whole image.
- the information processing apparatus calculates a compression value of a partial data flow including a plurality of processes using a plurality of data flows, and stores it in a compression value storage unit. ..
- the compression value is a value indicating the value of collectively compressing a plurality of processes of the partial data flow into one. The details of the compression value will be described later.
- the information processing apparatus compresses the data flow to be lineage based on the compression value and displays the compressed data flow.
- FIG. 1A is a diagram showing a plurality of data flows used for calculating a compression value.
- four data flows represented by data flow A to data flow D are used to calculate the compression value.
- the information processing apparatus according to the embodiment identifies “reduction in the number of rows” as a statistical difference between “Data2.csv” and “Data1.csv”. Further, the information processing apparatus according to the embodiment specifies “increase in the number of values” as the statistical difference between “Data3.csv” and “Data2.csv” in the data flow A. Other statistical differences are: increase in number of rows, decrease in number of values, decrease in range of values, increase in range of values, decrease in type of values, value There is an increasing number of types. The information processing apparatus according to the embodiment specifies these statistical differences by comparing the input data and the output data.
- the information processing apparatus specifies “delete” as the algorithm of the process “Python1” that produces the statistical difference “decrease in the number of rows” between “Data2.csv” and “Data1.csv”.
- the identified algorithm is displayed below the process.
- the information processing apparatus specifies "interpolation” as an algorithm of the process “Python2” that produces the statistical difference "increase in the number of values” between "Data3.csv” and "Data2.csv”.
- the information processing apparatus specifies “normalization” as the algorithm of the process “Python3” that produces a statistical difference between “Data4.csv” and “Data3.csv”. Further, the information processing apparatus according to the embodiment specifies “multiple regression analysis” as an algorithm of the process “Python4” that produces a statistical difference between “Data5.csv” and “Data4.csv”.
- multiple regression analysis is not specified by comparing input data and output data, but is specified as an algorithm added to the process prepared as a component when creating the data flow.
- the information processing apparatus adds the process algorithm that produces the difference between the input data and the output data to the process prepared as a component, in addition to identifying the algorithm by comparing the input data and the output data.
- the specified algorithm is used.
- the information processing apparatus identifies “name identification” as the algorithm in the data flow B. Further, the information processing apparatus according to the embodiment identifies the “unique algorithm” in the data flow C.
- the “unique algorithm” is an algorithm that is not specified by comparing the input data and the output data, and is added to the process when the process is not prepared as a component.
- the information processing apparatus sets all partial data flows including two or more processes and data from the input data of the first process of the two or more processes to the output data of the last process as a group. Extract all from. Then, the information processing apparatus according to the embodiment identifies a statistical difference and an algorithm for two groups included in different data flows, and determines whether or not the corresponding statistical difference and the corresponding algorithm match. judge. Then, when the corresponding statistical difference and the corresponding algorithm match, the information processing apparatus according to the embodiment determines that the two groups are the same, and adds 1 to the similarity of the groups. The information processing apparatus according to the embodiment determines whether two groups are the same for all combinations of groups.
- the information processing apparatus extracts “Data1.csv ⁇ Phython1 ⁇ Data2.csv ⁇ Phython2 ⁇ Data3.csv” from the data flow A as a group A1 as illustrated in FIG. 1B.
- the “group A1” is a group whose group number for identifying the group is “A1”.
- the information processing apparatus extracts “Data1.csv ⁇ Phython1 ⁇ Data2.csv ⁇ Phython2 ⁇ Data3.csv” from the data flow B as a group B1.
- the information processing apparatus specifies “reduction in the number of rows” as the statistical difference between “Data2.csv” and “Data1.csv” in the group A1. Further, the information processing apparatus according to the embodiment identifies “increase in the number of values” as the statistical difference between “Data3.csv” and “Data2.csv” in the group A1. Further, the information processing apparatus according to the embodiment specifies “delete” as an algorithm that produces the statistical difference “reduction in the number of rows”, and “interpolates” as an algorithm that produces the statistical difference “increase in the number of values”. Specify.
- the information processing apparatus identifies “reduction in the number of rows” as the statistical difference between “Data2.csv” and “Data1.csv” in group B1. Further, the information processing apparatus according to the embodiment identifies “increase in the number of values” as the statistical difference between “Data3.csv” and “Data2.csv” in the group B1. Further, the information processing apparatus according to the embodiment specifies “delete” as an algorithm that produces the statistical difference “reduction in the number of rows”, and “interpolates” as an algorithm that produces the statistical difference “increase in the number of values”. Specify.
- group A1 and group B1 the corresponding statistical differences are the same for “decrease in the number of rows” and “increase in the number of values”, and the corresponding algorithms are the same for “delete” and “interpolate”. Therefore, in the information processing apparatus according to the embodiment, the algorithm is “deletion ⁇ interpolation” and the statistical difference is “1 decrease in the number of rows ⁇ increase the number of values”, and 1 is added to the similarity of the group. ..
- FIG. 1C is a diagram showing an example of determination as different groups.
- the number of algorithms is different between group A1 and group B2, so it is determined that the groups are different.
- FIG. 1D is a diagram showing another example in which different groups are determined.
- the group C6 extracted from the data flow C and the group D3 extracted from the data flow D are determined to be different groups because at least the algorithms are different.
- the information processing apparatus makes 297 determinations for all combinations of groups, and sets the group “deletion ⁇ interpolation” similarity to 5. Further, the information processing apparatus according to the embodiment sets the similarity of the group “normalization ⁇ multiple regression analysis” to 1, the similarity of the group “deletion ⁇ interpolation ⁇ name identification” to 1, and the similarity of the group “interpolation ⁇ name identification”. 1 and the similarity of the other groups is 0.
- the coefficient is a value based on the number of algorithms, for example, the number of algorithms. " ⁇ " indicates power.
- the information processing apparatus stores the calculated compressed value in the compressed value storage unit in association with the group.
- the compression value is calculated from the four data flows here, the information processing apparatus according to the embodiment calculates the compression value of the group from more data flows and stores the compression values of various partial data flows. To do.
- the information processing apparatus extracts all groups from the data flow of the lineage target, and specifies the statistical difference and algorithm of each group. Then, the information processing apparatus according to the embodiment acquires the compression value of each group by referring to the compression value storage unit.
- 1E to 1H are diagrams showing examples of data flow groups subject to lineage.
- the information processing apparatus according to the embodiment identifies “decrease in the number of rows” as a statistical difference between “Data2.csv” and “Data1.csv”, and determines “Data3.csv” and “Data2.csv”. "Increase in number of values” is specified as the statistical difference of ".csv”.
- the information processing apparatus according to the embodiment specifies “delete” as an algorithm that produces the statistical difference “reduction in the number of rows”, and “interpolates” as an algorithm that produces the statistical difference “increase in the number of values”. Specify.
- the information processing apparatus according to the embodiment acquires 160 as the compression value of the group “deletion ⁇ interpolation”.
- the information processing apparatus specifies “decrease in value type” as a statistical difference between “Data4.csv” and “Data3.csv”. Then, the information processing apparatus according to the embodiment identifies "name identification” as an algorithm that produces a statistical difference "decrease in value type”. Then, the information processing apparatus according to the embodiment acquires 243 as the compression value of the group “deletion ⁇ interpolation ⁇ name identification”.
- the information processing apparatus identifies “change of value range” as a statistical difference between “Data7.csv” and “Data4.csv” and “Data6.csv”. To do.
- the information processing apparatus according to the embodiment identifies “unique” as a statistical difference between “Data6.csv” and “Data5.csv”. Then, the information processing apparatus according to the embodiment specifies “normalization” as an algorithm that produces the statistical difference “change of value range”, and the “unique algorithm” as the algorithm that produces the statistical difference “unique”. Identify.
- the information processing apparatus sets the compression value to 0 because the group includes the “unique algorithm”.
- the information processing apparatus identifies “diverted parts (multiple regression analysis)” as a statistical difference between “Data8.csv” and “Data7.csv”. Then, the information processing apparatus according to the embodiment specifies "multiple regression analysis” as an algorithm that produces a statistical difference "diversion part (multiple regression analysis)”. Then, the information processing apparatus according to the embodiment acquires 32 as the compression value for the group “normalization ⁇ multiple regression analysis”.
- the information processing apparatus collects a plurality of processes in order from a group having a large compression value into a project as one integrated process. Then, the information processing apparatus according to the embodiment sets the input data of the first process included in the group as the input data of the project and the output data of the last process as the output data of the project.
- 1I to 1K are diagrams showing an example in which a plurality of processes are combined into one project.
- the group “Delete ⁇ Interpolation ⁇ Name identification” with the maximum compression value of 243 is grouped into “Project1”. Further, the input data “Data1.csv” of “Delete” at the head is the input data of “Project1”, and the output data “Data4.csv” of the last “Name identification” is the output data of “Project1”.
- “group No. 2” indicates that the number for identifying the group “deletion ⁇ interpolation ⁇ name identification” in the compressed value storage unit is “2”.
- the group “Delete ⁇ Interpolation” having the next highest compression value (160) is grouped into “Project2”. Further, the input data “Data1.csv” of the first “delete” is set as the input data of “Project2”, and the output data “Data3.csv” of the last “interpolation” is set as the output data of “Project2”.
- the group “normalization ⁇ multiple regression analysis” with the next highest compression value (32) is summarized in “Project3”. Further, the input data “Data4.csv” and “Data6.csv” at the beginning “normalization” are set as the input data of “Project3”, and the output data “Data8.csv” at the end of the “multiple regression analysis” is set at “Project3.” Output data.
- FIG. 1L is a diagram showing a compressed data flow of the data flow shown in FIG. 1E. As shown in FIG. 1L, the combined processing algorithms are displayed together under the project. Compared with the data flow of FIG. 1E, in the compressed data flow 1 of FIG. 1L, the number of processes and the number of data are smaller, and the overall grasp is easier.
- the information processing apparatus when the user selects a project with the mouse, the information processing apparatus according to the embodiment displays the processes or projects before being combined into a project in a balloon.
- the information processing apparatus displays another process or project before being combined into the project in the balloon in another balloon.
- the information processing apparatus can assist in grasping the details of the entire data flow.
- FIG. 2 is a diagram illustrating the functional configuration of the information processing apparatus according to the embodiment.
- the information processing apparatus 10 according to the embodiment includes a data flow storage unit 11, a group extraction unit 12, a group storage unit 13, a compression value calculation unit 14, and a compression value storage unit 15. Have.
- the information processing apparatus 10 according to the embodiment also includes the lineage storage unit 16, the lineage group storage unit 17, the group graph storage unit 18, the compressed value acquisition unit 19, the acquisition result storage unit 20, and the project creation unit 21. And a project storage unit 22 and a display unit 23.
- the data flow storage unit 11 stores information on the graph structure of a plurality of data flows.
- the information processing apparatus 10 receives, for example, an instruction given by the user using a mouse, reads information on the graph structure of the data flow from the file, and stores or adds the information in the data flow storage unit 11.
- FIG. 3 is a diagram showing an example of the data flow storage unit 11.
- the data flow storage unit 11 stores the data flow name for identifying the data flow and the information of the graph structure of the data flow in association with each other.
- the data flow storage unit 11 stores, for example, “Data1.csv ⁇ Python1 ⁇ Data2.csv” and “Data2.csv ⁇ Python2 ⁇ Data3.csv” for the data flow A.
- the data flow storage unit 11 stores “Data3.csv ⁇ Python3 ⁇ Data4.csv” and “Data4.csv ⁇ Python4 ⁇ Data5.csv” for the data flow A.
- the group extraction unit 12 extracts all groups using the information stored in the data flow storage unit 11, specifies statistical differences and algorithms for each group, and stores them in the group storage unit 13.
- the group storage unit 13 stores group information.
- FIG. 4 is a diagram illustrating an example of the group storage unit 13. As shown in FIG. 4, the group storage unit 13 stores the algorithm name for identifying the algorithm and the statistical difference in association with the group No. for identifying the group. For example, the group storage unit 13 stores “deletion ⁇ interpolation” as the algorithm name and “decreases the number of rows ⁇ increases the number of values” as a statistical difference for the group A1.
- the compressed value storage unit 15 stores compressed value information for managing the compressed value for each group.
- FIG. 5 is a diagram showing an example of the compressed value storage unit 15.
- the compression value storage unit 15 stores the algorithm name, the statistical difference, the number of algorithms, the degree of similarity, and the compression value for each group.
- the algorithm name is “delete ⁇ interpolation”
- the statistical difference is “decrease number of rows ⁇ increase number of values”
- the number of algorithms is “2”
- the degree of similarity is “5”.
- the compression value is "160”.
- the lineage storage unit 16 stores information on the graph structure of the data flow subject to lineage.
- the information processing apparatus 10 receives an instruction given by the user using the mouse, reads information of the graph structure of the data flow of the lineage target from the file, and stores the information in the lineage storage unit 16.
- FIG. 6 is a diagram showing an example of the lineage storage unit 16.
- the lineage storage unit 16 is a number that identifies an element of the graph structure of the data flow of the lineage target.
- the graph structure of the element are stored in association with each other.
- the element is a graph structure of one process and its input data and output data.
- the graph structure of the element whose identification number is “1” is “Data1.csv ⁇ Phython1 ⁇ Data2.csv”.
- the group extraction unit 12 extracts all groups from the lineage-targeted data flow using the information stored in the lineage storage unit 16, specifies statistical differences and algorithms for each group, and the lineage group storage unit 17 To store.
- the lineage group storage unit 17 stores the information of the group extracted from the data flow of the lineage target.
- the group extraction unit 12 also creates a graph structure of the extracted group and stores it in the group graph storage unit 18.
- the group graph storage unit 18 stores information on the graph structure of the group of data flows subject to lineage.
- FIG. 7 is a diagram showing an example of the group graph storage unit 18. As shown in FIG. 7, the group graph storage unit 18 stores the group number. And the graph structure of the group are stored in association with each other. For example, the graph structure of the group whose identification number is “1” is “Data1.csv ⁇ Python1 ⁇ Data2.csv” and “Data2.csv ⁇ Python2 ⁇ Data3.csv”.
- the compressed value acquisition unit 19 acquires the compressed value from the compressed value storage unit 15 for the group in which the lineage group storage unit 17 stores the information, and stores it in the acquisition result storage unit 20 together with the group information.
- the compressed value acquisition unit 19 sets the compressed value to 0 and stores it in the acquisition result storage unit 20 for the group whose compressed value is not stored in the compressed value storage unit 15.
- the acquisition result storage unit 20 stores, for each group, information in which a compression value is added to the information stored in the lineage group storage unit 17.
- FIG. 8 is a diagram illustrating an example of the acquisition result storage unit 20. As shown in FIG. 8, the acquisition result storage unit 20 stores the group number. The algorithm name, statistical difference, and compression value are stored for each group. For example, the acquisition result storage unit 20 stores “deletion ⁇ interpolation” as an algorithm name and “decreases the number of rows ⁇ increases the number of values” as a statistical difference for the group identified by “1”. Then, “160” is stored as the compression value.
- the project creation unit 21 identifies the groups whose compression value is not 0 from the acquisition result storage unit 20 in descending order of compression value, collects a plurality of processes of the identified group into one project, and stores the project information in the project storage unit 22.
- the project is a process in which a plurality of processes are integrated.
- the input data of the project is the input data of the first process of the plurality of processes grouped together, and the output data of the project is the output data of the last process of the plurality of processes grouped together.
- the project creation unit 21 may put together a group whose compression value is a predetermined value or more into a project.
- the project storage unit 22 stores project information.
- the project information includes the information of the group before it is put together in the project.
- FIG. 9 is a diagram showing an example of the project storage unit 22. As shown in FIG. 9, the project storage unit 22 stores the group number. The algorithm name, statistical difference, compression value, project name and hierarchy are stored for each project.
- the algorithm name is a name that identifies the project.
- the hierarchy is the hierarchy of the project.
- the hierarchy of projects not included in other projects is “1”.
- the level of a project included in a project whose level is “1” and not included in other projects is “2”.
- a project with a hierarchy of n is included in a project with a hierarchy of "1", a hierarchy of "2",..., A hierarchy of "n-1".
- the project storage unit 22 stores the information of the group identified by “2” and the fact that the hierarchy is “1” for the project identified by “Project1”.
- the display unit 23 refers to the project storage unit 22 and the group graph storage unit 18, and displays, as the compressed data flow 1, a data flow including a project in the highest layer of the lineage target data flow.
- the project at the highest level is a project whose level is "1".
- the display unit 23 also displays the process icon with an algorithm name. Further, the display unit 23 displays the combined process algorithm name along with the project icon.
- the display unit 23 displays the partial data flow including the processes organized in the project or the project in the next lower layer.
- the display unit 23 detects a mouse cursor that is aligned with the project icon included in the partial data flow
- the display unit 23 displays the partial data flow including the processes grouped in the project or the project in the next lower hierarchy.
- the display unit 23 displays a partial data flow including a project of hierarchy “n+1” that is grouped into projects of hierarchy “n” when the mouse cursor is placed on an icon of a project of hierarchy “n”. ..
- FIG. 10 is a flowchart showing the flow of processing by the information processing device 10.
- steps S1 to S6 are processes for calculating the compression value of the group
- steps S7 to S14 are processes for displaying the data flow of the lineage target based on the compression value.
- the information processing device 10 groups consecutive parts of two data flows (step S1).
- the group includes two or more processes and data from the input data of the first process of the two or more processes to the output data of the last process.
- the information processing device 10 identifies the statistical difference between the input data and the output data for all the processes included in the two groups (step S2). Then, the information processing apparatus 10 searches for an algorithm that can produce a difference and specifies an algorithm name for all processes included in the two groups (step S3).
- the information processing apparatus 10 increments the degree of similarity between the groups by 1 if the corresponding statistical difference between the two groups and the algorithm match (step S4). Note that if the corresponding statistical differences and algorithms match, the numbers of algorithms also match. Then, the information processing apparatus 10 determines whether or not the similarity has been obtained for all combinations of data flows and all groupings (step S5), and if there is a combination for which similarity has not been obtained, the information processing apparatus 10 proceeds to step S1. Return.
- the information processing apparatus 10 calculates the compression value by multiplying the similarity by a coefficient related to the number of algorithms (step S6).
- the compressed value is stored in the compressed value storage unit 15 and is used when displaying the data flow of the lineage target.
- the information processing device 10 groups consecutive portions of the lineage-targeted data flow (step S7). Then, for the processes included in the group, the information processing device 10 obtains a statistical difference between the input data and the output data, and specifies the name of the algorithm that produces the difference (step S8).
- the information processing device 10 acquires the compression value of the group from the compression value storage unit 15 based on the statistical difference and the algorithm (step S9), and determines whether or not the compression value has been acquired for all the groups. The determination is made (step S10). Then, when there is a group for which the compression value has not been acquired, the information processing device 10 returns to step S7.
- the information processing apparatus 10 hierarchically groups the groups in descending order of compression value as a project (step S11). Then, the information processing apparatus 10 displays the compressed data flow 1 including the highest-level project for the lineage target data flow (step S12). Then, when the information processing apparatus 10 detects the mouse cursor placed on the project icon, the information processing apparatus 10 displays a detailed partial data flow of the contents of the project (step S13).
- step S14 the information processing device 10 determines whether or not it is finished (step S14), and if it is not finished, returns to step S13, and if it is finished, finishes the display process.
- the information processing apparatus 10 creates a project based on the compression value and hierarchically displays the partial data flows organized in the project, so that it is possible to support the step-by-step grasp of the data flow.
- the compression value storage unit 15 stores the compression value information for managing the compression value for each group. Then, the group extraction unit 12 extracts a group from the lineage target data flow, and the compressed value acquisition unit 19 acquires the compressed value of the lineage target group from the compressed value storage unit 15. Then, the project creation unit 21 compresses the data flow by grouping the groups having the compression value larger than 0 from the data flow of the lineage target in ascending order, and the display unit 23 displays the compressed data flow. Therefore, the information processing device 10 can easily grasp the overall image of the data flow.
- the display unit 23 when the display unit 23 detects that the mouse cursor is placed on the project icon, the display unit 23 hierarchically displays the partial data flow of the group before being grouped in the project. Therefore, the information processing device 10 can easily understand some details of the data flow.
- the group extraction unit 12 extracts a group from a plurality of data flows, and the compression value calculation unit 14 compresses each group based on the similarity to other groups and the number of processes included in the group.
- the value is calculated and stored in the compressed value storage unit 15. Therefore, the information processing device 10 can compress a partial data flow that has a high appearance frequency and a large number of processes, and can perform appropriate compression.
- the compression value calculation unit 14 calculates the similarity based on the statistical difference between the input data and the output data of the process and the algorithm that produces the statistical difference, so that the group The degree of similarity can be calculated appropriately.
- FIG. 11 is a diagram illustrating a hardware configuration of a computer that executes a lineage program according to the embodiment.
- the computer 50 has a main memory 51, a CPU (Central Processing Unit) 52, a LAN (Local Area Network) interface 53, and an HDD (Hard Disk Drive) 54.
- the computer 50 has a super IO (Input Output) 55, a DVI (Digital Visual Interface) 56, and an ODD (Optical Disk Drive) 57.
- IO Input Output
- DVI Digital Visual Interface
- ODD Optical Disk Drive
- the main memory 51 is a memory that stores a program, a mid-execution result of the program, and the like.
- the CPU 52 is a central processing unit that reads a program from the main memory 51 and executes the program.
- the CPU 52 includes a chip set having a memory controller.
- the LAN interface 53 is an interface for connecting the computer 50 to another computer via the LAN.
- the HDD 54 is a disk device that stores programs and data
- the Super IO 55 is an interface for connecting an input device such as a mouse and a keyboard.
- the DVI 56 is an interface for connecting a liquid crystal display device
- the ODD 57 is a device for reading and writing DVDs and CD-Rs.
- the LAN interface 53 is connected to the CPU 52 by PCI Express (PCIe), and the HDD 54 and the ODD 57 are connected to the CPU 52 by SATA (Serial Advanced Technology Attachment).
- the Super IO 55 is connected to the CPU 52 by LPC (Low Pin Count).
- the lineage program executed by the computer 50 is stored in the CD-R, which is an example of a recording medium readable by the computer 50, read from the CD-R by the ODD 57, and installed in the computer 50.
- the lineage program is stored in a database or the like of another computer system connected via the LAN interface 53, read from these databases, and installed in the computer 50.
- the installed lineage program is stored in the HDD 54, read into the main memory 51, and executed by the CPU 52.
- the process included in the data flow may be another process such as a task or a module.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
複数のデータフローから抽出されたグループ毎に圧縮価値記憶部が圧縮価値を記憶する。そして、グループ抽出部がリネージュ対象のデータフローからグループを抽出し、圧縮価値取得部がリネージュ対象のグループの圧縮価値を圧縮価値記憶部から取得する。そして、プロジェクト作成部がリネージュ対象のデータフローから圧縮価値が所定値より大きいグループを大きい順にプロジェクトにまとめてデータフローを圧縮し、表示部が、圧縮されたデータフローを表示する。
Description
本発明は、情報処理装置及びリネージュプログラムに関する。
近年、データの信頼性を判断するため、あるいは、データの使用先を把握するために、データの来歴と影響範囲をグラフ表示するリネージュ機能が使われている。図12は、リネージュ機能により表示されるデータフローの一例を示す図である。図12では、データはcsv(comma-separated values)ファイルであり、「品切れ.csv」が対象として選択されている。楕円のアイコンはプロセス(処理)を表す。カードのアイコンはデータを表す。「Python」は、プログラミング言語であり、楕円の中の「Python」は、プロセスが「Python」で作成されていることを示す。
「品切れ.csv」より左が「品切れ.csv」の来歴を示し、「品切れ.csv」より右が「品切れ.csv」の影響範囲を示す。すなわち、「売り上げ.csv」と「商品マスター.csv」から2つのプロセスにより「中間.csv」が作成され、「中間.csv」と「在庫.csv」から1つのプロセスにより「品切れ.csv」が作成される。また、「品切れ.csv」から2つのプロセスにより「需要予測.csv」が作成される。
なお、有向グラフに関する従来技術として、有向グラフに含まれるノードについて関心の指定を受け取って、関心のないノードを要約する計算を行う技術がある。また、メタデータオブジェクトを特徴づける要約データを計算し、メタデータオブジェクトをノードで表しノード間の関係を線で表す視覚的表現において、要約データをノードの近傍に重ねる技術がある。
リネージュ機能で表示されるデータフローには、データとプロセスの数が多くなると全体像の把握が困難になるという問題がある。図13は、全体像の把握が困難なデータフローの一例を示す図である。図13では、対象として選択されたcsvファイルの来歴に含まれるプロセス及びcsvファイルの数が、全体像の把握が困難なほど多い。
本発明は、1つの側面では、データフローの全体像の把握を容易にすることを目的とする。
1つの態様では、情報処理装置は、圧縮価値記憶部と圧縮部と表示部とを有する。前記圧縮価値記憶部は、グループに含まれる複数の処理を1つのまとめ処理に圧縮する価値を示す圧縮価値をグループ毎に管理する圧縮価値情報を記憶する。ここで、グループは、データフローにおいて複数の処理と該複数の処理の先頭処理の入力データから最終処理の出力データまでのデータとを含む部分データフローである。前記圧縮部は、前記圧縮価値記憶部に記憶された圧縮価値情報に基づいて、リネージュ対象のデータフローにおいて圧縮価値が所定値より大きいグループの複数の処理を1つのまとめ処理にまとめる。前記表示部は、前記圧縮部により複数の処理が1つのまとめ処理にまとめられた圧縮データフローを表示する。
本発明は、1つの側面では、データフローの全体像の把握を容易にすることができる。
以下に、本願の開示する情報処理装置及びリネージュプログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係る情報処理装置がリネージュ機能により表示するデータフローを図1A~図1Lを用いて説明する。実施例に係る情報処理装置は、図1A~図1Dに示すように、複数のデータフローを用いて、複数のプロセスを含む部分データフローの圧縮価値を計算して、圧縮価値記憶部に記憶する。ここで、圧縮価値とは、部分データフローの複数のプロセスをまとめて1つに圧縮する価値を示す値である。なお、圧縮価値の詳細については後述する。そして、実施例に係る情報処理装置は、図1E~図1Lに示すように、リネージュ対象のデータフローを圧縮価値に基づいて圧縮して、圧縮データフローを表示する。
図1Aは、圧縮価値の計算に用いられる複数のデータフローを示す図である。ここでは、データフローA~データフローDで表される4つのデータフローが圧縮価値の計算に用いられる。実施例に係る情報処理装置は、データフローAにおいて、「Data2.csv」と「Data1.csv」の統計的な差異として「行数の減少」を特定する。また、実施例に係る情報処理装置は、データフローAにおいて、「Data3.csv」と「Data2.csv」の統計的な差異として「値の数の増加」を特定する。統計的な差異としては、他に「行数の増加」、「値の数の減少」、「値の範囲の減少」、「値の範囲の増加」、「値の種類の減少」、「値の種類の増加」等がある。実施例に係る情報処理装置は、これらの統計的な差異を、入力データと出力データを比較することで特定する。
そして、実施例に係る情報処理装置は、「Data2.csv」と「Data1.csv」の統計的な差異「行数の減少」を生み出すプロセス「Python1」のアルゴリズムとして「削除」を特定する。特定されたアルゴリズムは、プロセスの下に表示される。統計的な差異「行数の減少」を生み出すプロセスのアルゴリズムとしては、「削除」の他に「外れ値除外」がある。「削除」であるか「外れ値除外」であるかは、入力データと出力データを比較することで特定される。また、実施例に係る情報処理装置は、「Data3.csv」と「Data2.csv」の統計的な差異「値の数の増加」を生み出すプロセス「Python2」のアルゴリズムとして「補間」を特定する。
同様に、実施例に係る情報処理装置は、「Data4.csv」と「Data3.csv」の統計的な差異を生み出すプロセス「Python3」のアルゴリズムとして「正規化」を特定する。また、実施例に係る情報処理装置は、「Data5.csv」と「Data4.csv」の統計的な差異を生み出すプロセス「Python4」のアルゴリズムとして「重回帰分析」を特定する。
ただし、「重回帰分析」については、入力データと出力データを比較することで特定されるのではなく、データフロー作成時に部品として用意されたプロセスに付加されたアルゴリズムとして特定される。このように、実施例に係る情報処理装置は、入力データと出力データの差異を生み出すプロセスのアルゴリズムを、入力データと出力データを比較することで特定する以外に、部品として用意されたプロセスに付加されたアルゴリズムを用いて特定する。
また、実施例に係る情報処理装置は、データフローBにおいて、アルゴロズムとして「名寄せ」を特定する。また、実施例に係る情報処理装置は、データフローCにおいて、「独自アルゴリズム」を特定する。ここで、「独自アルゴリズム」は、入力データと出力データを比較することで特定されず、部品として用意されたプロセスでない場合に、プロセスに付加されるアルゴリズムである。
実施例に係る情報処理装置は、2つ以上のプロセスと2つ以上のプロセスの先頭のプロセスの入力データから最後のプロセスの出力データまでのデータとを含む部分データフローをグループとして全てのデータフローから全て抽出する。そして、実施例に係る情報処理装置は、異なるデータフローに含まれる2つのグループについて、統計的な差異とアルゴリズムを特定し、対応する統計的な差異と、対応するアルゴリズムが一致するか否かを判定する。そして、対応する統計的な差異と、対応するアルゴリズムが一致する場合に、実施例に係る情報処理装置は、2つのグループは同一であると判定し、グループの類似度に1を加える。また、実施例に係る情報処理装置は、2つのグループが同一であるか否かの判定をグループの全ての組み合わせについて行う。
例えば、実施例に係る情報処理装置は、図1Bに示すように、データフローAから、「Data1.csv→Python1→Data2.csv→Python2→Data3.csv」をグループA1として抽出する。ここで、「グループA1」は、グループを識別するグループ番号が「A1」であるグループである。また、実施例に係る情報処理装置は、データフローBから、「Data1.csv→Python1→Data2.csv→Python2→Data3.csv」をグループB1として抽出する。
そして、実施例に係る情報処理装置は、グループA1において、「Data2.csv」と「Data1.csv」の統計的な差異として「行数の減少」を特定する。また、実施例に係る情報処理装置は、グループA1において、「Data3.csv」と「Data2.csv」の統計的な差異として「値の数の増加」を特定する。また、実施例に係る情報処理装置は、統計的な差異「行数の減少」を生み出すアルゴリズムとして「削除」を特定し、統計的な差異「値の数の増加」を生み出すアルゴリズムとして「補間」を特定する。
同様に、実施例に係る情報処理装置は、グループB1において、「Data2.csv」と「Data1.csv」の統計的な差異として「行数の減少」を特定する。また、実施例に係る情報処理装置は、グループB1において、「Data3.csv」と「Data2.csv」の統計的な差異として「値の数の増加」を特定する。また、実施例に係る情報処理装置は、統計的な差異「行数の減少」を生み出すアルゴリズムとして「削除」を特定し、統計的な差異「値の数の増加」を生み出すアルゴリズムとして「補間」を特定する。
グループA1とグループB1では、対応する統計的な差異が「行数の減少」と「値の数の増加」で同じであり、対応するアルゴリズムも「削除」と「補間」で同じである。したがって、実施例に係る情報処理装置は、アルゴリズムが「削除→補間」であり、統計的な差異が「行数の減少→値の数の増加」で表されるグループの類似度に1を加える。
図1Cは、異なるグループとして判定される例を示す図である。図1Cにおいて、グループA1とグループB2はアルゴリズムの数が異なるので、異なるグループと判定される。図1Dは、異なるグループとして判定される他の例を示す図である。図1Dにおいて、データフローCから抽出されたグループC6とデータフローDから抽出されたグループD3は、少なくともアルゴリズムが異なるので、異なるグループと判定される。
図1Bに示したグループA1を「削除」→「補間」で表すと、データフローAからは、「削除」を先頭のアルゴリズムとするグループとして、「削除」→「補間」→「正規化」、「削除」→「補間」→「正規化」→「重回帰分析」が抽出される。また、「補間」を先頭のアルゴリズムとするグループとして、「補間」→「正規化」、「補間」→「正規化」→「重回帰分析」が抽出される。また、「正規化」を先頭のアルゴリズムとするグループとして、「正規化」→「重回帰分析」が抽出される。したがって、データフローAからは、6個のグループが抽出される。同様に、データフローBからは、「削除」→「補間」のグループB1等の15個のグループが抽出される。
実施例に係る情報処理装置は、グループの組み合わせの全てについて、297回判定を行い、グループ「削除→補間」の類似度を5とする。また、実施例に係る情報処理装置は、グループ「正常化→重回帰分析」の類似度を1、グループ「削除→補間→名寄せ」の類似度を1、グループ「補間→名寄せ」の類似度を1、その他のグループの類似度を0とする。
そして、実施例に係る情報処理装置は、圧縮価値を類似度とアルゴリズムの数に基づいてグループ毎に計算する。例えば、実施例に係る情報処理装置は、圧縮価値=類似度×係数^5、により計算する。ここで、係数はアルゴリズム数に基づく値であり、例えば、アルゴリズム数である。「^」はベキ乗を示す。
類似度が大きいことはグループの出現頻度が高いことを示し、グループの圧縮価値は大きい。また、アルゴリズム数が多いグループは圧縮率が大きいので、グループの圧縮価値は大きい。
実施例に係る情報処理装置は、例えば、グループ「削除→補間」の圧縮価値を5×2^5=160、グループ「正常化→重回帰分析」の圧縮価値を1×2^5=32、グループ「削除→補間→名寄せ」の圧縮価値を1×3^5=243とする。同様に、実施例に係る情報処理装置は、例えば、グループ「補間→名寄せ」の類似度を1×2^5=32とし、その他のグループの圧縮価値を0とする。
そして、実施例に係る情報処理装置は、計算した圧縮価値をグループに対応付けて圧縮価値記憶部に記憶する。なお、ここでは、4つのデータフローから圧縮価値を計算したが、実施例に係る情報処理装置は、より多くのデータフローからグループの圧縮価値を計算し、様々な部分データフローの圧縮価値を記憶する。
そして、実施例に係る情報処理装置は、リネージュ対象のデータフローから全てのグループを抽出し、各グループの統計的な差異とアルゴリズムを特定する。そして、実施例に係る情報処理装置は、各グループの圧縮価値を圧縮価値記憶部を参照して取得する。
図1E~図1Hは、リネージュ対象のデータフローのグループの例を示す図である。図1Eの例では、実施例に係る情報処理装置は、「Data2.csv」と「Data1.csv」の統計的な差異として「行数の減少」を特定し、「Data3.csv」と「Data2.csv」の統計的な差異として「値の数の増加」を特定する。そして、実施例に係る情報処理装置は、統計的な差異「行数の減少」を生み出すアルゴリズムとして「削除」を特定し、統計的な差異「値の数の増加」を生み出すアルゴリズムとして「補間」を特定する。そして、実施例に係る情報処理装置は、グループ「削除→補間」の圧縮価値として160を取得する。
また、図1Fの例では、実施例に係る情報処理装置は、「Data4.csv」と「Data3.csv」の統計的な差異として「値の種類の減少」を特定する。そして、実施例に係る情報処理装置は、統計的な差異「値の種類の減少」を生み出すアルゴリズムとして「名寄せ」を特定する。そして、実施例に係る情報処理装置は、グループ「削除→補間→名寄せ」の圧縮価値として243を取得する。
また、図1Gの例では、実施例に係る情報処理装置は、「Data7.csv」と「Data4.csv」及び「Data6.csv」との統計的な差異として「値の範囲の変更」を特定する。また、実施例に係る情報処理装置は、「Data6.csv」と「Data5.csv」の統計的な差異として「独自」を特定する。そして、実施例に係る情報処理装置は、統計的な差異「値の範囲の変更」を生み出すアルゴリズムとして「正規化」を特定し、統計的な差異「独自」を生み出すアルゴリズムとして「独自アルゴリズム」を特定する。そして、実施例に係る情報処理装置は、グループに「独自アルゴリズム」が含まれているので、圧縮価値を0とする。
また、図1Hの例では、実施例に係る情報処理装置は、「Data8.csv」と「Data7.csv」の統計的な差異として「流用部品(重回帰分析)」を特定する。そして、実施例に係る情報処理装置は、統計的な差異「流用部品(重回帰分析)」を生み出すアルゴリズムとして「重回帰分析」を特定する。そして、実施例に係る情報処理装置は、グループ「正規化→重回帰分析」について圧縮価値として32を取得する。
そして、実施例に係る情報処理装置は、圧縮価値が大きいグループから順番に複数のプロセスを1つのまとめプロセスとしてのプロジェクトにまとめる。そして、実施例に係る情報処理装置は、グループに含まれる先頭のプロセスの入力データをプロジェクトの入力データとし、最後のプロセスの出力データをプロジェクトの出力データとする。図1I~図1Kは、複数のプロセスを1つのプロジェクトにまとめる例を示す図である。
図1Iでは、圧縮価値が243で最大のグループ「削除→補間→名寄せ」が「Project1」にまとめられる。また、先頭の「削除」の入力データ「Data1.csv」が「Project1」の入力データとされ、最後の「名寄せ」の出力データ「Data4.csv」が「Project1」の出力データとされる。なお、図1Iにおいて、「グループNo.2」は、圧縮価値記憶部においてグループ「削除→補間→名寄せ」を識別する番号が「2」であることを示す。
図1Jでは、次に圧縮価値(160)が大きいグループ「削除→補間」が「Project2」にまとめられる。また、先頭の「削除」の入力データ「Data1.csv」が「Project2」の入力データとされ、最後の「補間」の出力データ「Data3.csv」が「Project2」の出力データとされる。
図1Kでは、次に圧縮価値(32)が大きいグループ「正規化→重回帰分析」が「Project3」にまとめられる。また、先頭の「正常化」の入力データ「Data4.csv」と「Data6.csv」が「Project3」の入力データとされ、最後の「重回帰分析」の出力データ「Data8.csv」が「Project3」の出力データとされる。
そして、実施例に係る情報処理装置は、リネージュ対象のデータフローをプロジェクトに置き換えられた圧縮データフローとして表示する。図1Lは、図1Eに示したデータフローの圧縮データフローを示す図である。図1Lに示すように、まとめられた処理のアルゴリズムは、プロジェクトの下にまとめて表示される。図1Eのデータフローと比較して、図1Lの圧縮データフロー1では、プロセス数及びデータ数が少なくなり、全体の把握が容易になっている。
また、図1Lにおいて、ユーザによりプロジェクトがマウスで選択されると、実施例に係る情報処理装置は、プロジェクトにまとめられる前のプロセス又はプロジェクトを吹き出しで表示する。また、吹き出しの中のプロジェクトがマウスで選択されると、実施例に係る情報処理装置は、吹き出し中のプロジェクトにまとめられる前のプロセス又はプロジェクトを別の吹き出しで表示する。
このように、プロジェクトにまとめられる前のプロセス又はプロジェクトを階層的に表示することで、実施例に係る情報処理装置は、データフローの全体から詳細への把握を支援することができる。
次に、実施例に係る情報処理装置の機能構成について説明する。図2は、実施例に係る情報処理装置の機能構成を示す図である。図2に示すように、実施例に係る情報処理装置10は、データフロー記憶部11と、グループ抽出部12と、グループ記憶部13と、圧縮価値計算部14と、圧縮価値記憶部15とを有する。また、実施例に係る情報処理装置10は、リネージュ記憶部16と、リネージュグループ記憶部17と、グループグラフ記憶部18と、圧縮価値取得部19と、取得結果記憶部20と、プロジェクト作成部21と、プロジェクト記憶部22と、表示部23とを有する。
データフロー記憶部11は、複数のデータフローのグラフ構造の情報を記憶する。情報処理装置10は、例えば、ユーザがマウスを用いて行った指示を受け付けてファイルからデータフローのグラフ構造の情報を読み出してデータフロー記憶部11に格納したり追加したりする。
図3は、データフロー記憶部11の一例を示す図である。図3に示すように、データフロー記憶部11は、データフローを識別するデータフロー名とデータフローのグラフ構造の情報を対応付けて記憶する。データフロー記憶部11は、例えば、データフローAについて、「Data1.csv→Python1→Data2.csv」、「Data2.csv→Python2→Data3.csv」を記憶する。また、データフロー記憶部11は、データフローAについて、「Data3.csv→Python3→Data4.csv」、「Data4.csv→Python4→Data5.csv」を記憶する。
グループ抽出部12は、データフロー記憶部11が記憶する情報を用いて全てのグループを抽出し、各グループについて、統計的な差異とアルゴリズムを特定して、グループ記憶部13に格納する。
グループ記憶部13は、グループの情報を記憶する。図4は、グループ記憶部13の一例を示す図である。図4に示すように、グループ記憶部13は、グループを識別するグループNo.に対応付けて、アルゴリズムを識別するアルゴリズム名と統計的な差異とを記憶する。例えば、グループ記憶部13は、グループA1について、アルゴリズム名として「削除→補間」を記憶し、統計的な差異として「行数の減少→値の数の増加」を記憶する。
圧縮価値計算部14は、グループの類似度を計算し、類似度をアルゴリズムの数に基づいて、圧縮価値=類似度×係数^5を計算し、圧縮価値記憶部15に格納する。
圧縮価値記憶部15は、圧縮価値をグループ毎に管理する圧縮価値情報を記憶する。図5は、圧縮価値記憶部15の一例を示す図である。図5に示すように、圧縮価値記憶部15は、アルゴリズム名と、統計的な差異と、アルゴリズム数と、類似度と、圧縮価値をグループ毎に記憶する。例えばアルゴリズム名が「削除→補間」であり、統計的な差異が「行数の減少→値の数の増加」であるグループのアルゴリズム数は「2」であり、類似度は「5」であり、圧縮価値は「160」である。
リネージュ記憶部16は、リネージュ対象のデータフローのグラフ構造の情報を記憶する。情報処理装置10は、例えば、ユーザがマウスを用いて行った指示を受け付けてファイルからリネージュ対象のデータフローのグラフ構造の情報を読み出してリネージュ記憶部16に格納する。
図6は、リネージュ記憶部16の一例を示す図である。図6に示すように、リネージュ記憶部16は、リネージュ対象のデータフローのグラフ構造の要素を識別する番号であるNo.と要素のグラフ構造とを対応付けて記憶する。ここで、要素は1つのプロセスとその入力データ及び出力データのグラフ構造である。例えば、識別する番号が「1」である要素のグラフ構造は「Data1.csv→Python1→Data2.csv」である。
グループ抽出部12は、リネージュ記憶部16が記憶する情報を用いてリネージュ対象のデータフローから全てのグループを抽出し、各グループについて、統計的な差異とアルゴリズムを特定して、リネージュグループ記憶部17に格納する。リネージュグループ記憶部17は、リネージュ対象のデータフローから抽出されたグループの情報を記憶する。また、グループ抽出部12は、抽出したグループのグラフ構造を作成し、グループグラフ記憶部18に格納する。
グループグラフ記憶部18は、リネージュ対象のデータフローのグループのグラフ構造の情報を記憶する。図7は、グループグラフ記憶部18の一例を示す図である。図7に示すように、グループグラフ記憶部18は、グループNo.とグループのグラフ構造を対応付けて記憶する。例えば、識別する番号が「1」であるグループのグラフ構造は「Data1.csv→Python1→Data2.csv」と「Data2.csv→Python2→Data3.csv」である。
圧縮価値取得部19は、リネージュグループ記憶部17が情報を記憶するグループについて、圧縮価値記憶部15から圧縮価値を取得し、グループの情報とともに取得結果記憶部20に格納する。圧縮価値取得部19は、圧縮価値記憶部15に圧縮価値が記憶されていないグループについては、圧縮価値を0として取得結果記憶部20に格納する。
取得結果記憶部20は、リネージュグループ記憶部17が記憶する情報に圧縮価値が付加された情報をグループ毎に記憶する。図8は、取得結果記憶部20の一例を示す図である。図8に示すように、取得結果記憶部20は、グループを識別するグループNo.とアルゴリズム名と統計的な差異と圧縮価値をグループ毎に記憶する。例えば、取得結果記憶部20は、「1」で識別されるグループについて、アルゴリズム名として「削除→補間」を記憶し、統計的な差異として「行数の減少→値の数の増加」を記憶し、圧縮価値として「160」を記憶する。
プロジェクト作成部21は、取得結果記憶部20から圧縮価値が0でないグループを圧縮価値が大きい順に特定し、特定したグループの複数のプロセスを1つのプロジェクトにまとめて、プロジェクトの情報をプロジェクト記憶部22に格納する。ここで、プロジェクトは、複数のプロセスがまとめられたプロセスである。プロジェクトの入力データは、まとめられた複数のプロセスの先頭のプロセスの入力データであり、プロジェクトの出力データは、まとめられた複数のプロセスの最後のプロセスの出力データである。なお、プロジェクト作成部21は、圧縮価値が所定の値以上のグループをプロジェクトにまとめてもよい。
プロジェクト記憶部22は、プロジェクトの情報を記憶する。プロジェクトの情報には、プロジェクトにまとめられる前のグループの情報が含まれる。図9は、プロジェクト記憶部22の一例を示す図である。図9に示すように、プロジェクト記憶部22は、グループNo.とアルゴリズム名と統計的な差異と圧縮価値とプロジェクト名と階層をプロジェクト毎に記憶する。
グループNo.とアルゴリズム名と統計的な差異と圧縮価値は、まとめられる前のグループの情報である。プロジェクト名は、プロジェクトを識別する名前である。階層は、プロジェクトの階層である。他のプロジェクトに含まれないプロジェクトの階層は「1」である。階層が「1」のプロジェクトに含まれ、他のプロジェクトに含まれないプロジェクトの階層は「2」である。一般に、階層がnのプロジェクトは、階層が「1」、階層が「2」、・・・、階層が「n-1」のプロジェクトに含まれる。
例えば、プロジェクト記憶部22は、「Project1」で識別されるプロジェクトについて、「2」で識別されるグループの情報と階層が「1」であることを記憶する。
表示部23は、プロジェクト記憶部22とグループグラフ記憶部18を参照し、リネージュ対象のデータフローについて、最上位階層のプロジェクトを含むデータフローを圧縮データフロー1として表示する。ここで、最上位階層のプロジェクトとは、階層が「1」のプロジェクトである。
また、表示部23は、プロセスアイコンにはアルゴリズム名を添えて表示する。また、表示部23は、まとめられたプロセスのアルゴリズム名をプロジェクトアイコンに添えて表示する。
そして、表示部23は、プロジェクトアイコンに合わせられたマウスカーソルを検出すると、プロジェクトにまとめられたプロセス又は次の下の階層のプロジェクトを含む部分データフローを表示する。また、表示部23は、部分データフローに含まれるプロジェクトアイコンに合わせられたマウスカーソルを検出すると、プロジェクトにまとめられたプロセス又は次の下の階層のプロジェクトを含む部分データフローを表示する。一般に、表示部23は、階層が「n」のプロジェクトのアイコンにマウスカーソルが合わせられると、階層が「n」のプロジェクトにまとめられた階層が「n+1」のプロジェクトを含む部分データフローを表示する。
次に、情報処理装置10による処理のフローについて説明する。図10は、情報処理装置10による処理のフローを示すフローチャートである。図10において、ステップS1~ステップS6は、グループの圧縮価値を算出する処理であり、ステップS7~ステップS14は、圧縮価値に基づいてリネージュ対象のデータフローを表示する処理である。
図10に示すように、情報処理装置10は、2つのデータフローの連続する部分をグルーピングする(ステップS1)。ここで、グループには、2つ以上のプロセスと2つ以上のプロセスの先頭のプロセスの入力データから最後のプロセスの出力データまでのデータとが含まれる。
そして、情報処理装置10は、2つのグループに含まれる全プロセスについて、入力データと出力データの統計的な差異を特定する(ステップS2)。そして、情報処理装置10は、2つのグループに含まれる全プロセスについて、差異を生み出しうるアルゴリズムの中から、該当するアルゴリズムを探してアルゴリズム名を特定する(ステップS3)。
そして、情報処理装置10は、2つのグループの対応する統計的な差異及びアルゴリズムが一致していれば、グループの類似度を+1する(ステップS4)。なお、対応する統計的な差異及びアルゴリズムが一致すれば、アルゴリズムの数も一致する。そして、情報処理装置10は、全てのデータフローと全てのグルーピングの組み合わせで類似度を求めたか否かを判定し(ステップS5)、類似度を求めていない組み合せがある場合には、ステップS1に戻る。
一方、全てのデータフローと全てのグルーピングの組み合わせで類似度を求めた場合には、情報処理装置10は、類似度にアルゴリズム数に関係する係数を掛けて圧縮価値を求める(ステップS6)。圧縮価値は圧縮価値記憶部15に記憶され、リネージュ対象のデータフローを表示する場合に利用される。
リネージュ対象のデータフローを表示する処理では、情報処理装置10は、リネージュ対象のデータフローの連続する部分をグルーピングする(ステップS7)。そして、グループに含まれるプロセスについて、情報処理装置10は、入力データと出力データの統計的な差異を求め、差異を生み出すアルゴリズムの名前を特定する(ステップS8)。
そして、情報処理装置10は、統計的な差異とアルゴリズムに基づいて、圧縮価値記憶部15から、グループの圧縮価値を取得し(ステップS9)、全てのグループで圧縮価値を取得したか否かを判定する(ステップS10)。そして、圧縮価値を取得していないグループがある場合には、情報処理装置10は、ステップS7に戻る。
一方、全てのグループで圧縮価値を取得した場合には、情報処理装置10は、圧縮価値が大きい順にグループをプロジェクトとして階層的にまとめ上げる(ステップS11)。そして、情報処理装置10は、リネージュ対象のデータフローについて、最上位階層のプロジェクトを含む圧縮データフロー1を表示する(ステップS12)。そして、情報処理装置10は、プロジェクトアイコンに合わせられたマウスカーソルを検出すると、プロジェクトの中身の詳細な部分データフローを表示する(ステップS13)。
そして、情報処理装置10は、終了か否かを判定し(ステップS14)、終了でない場合には、ステップS13に戻り、終了と判定した場合には、表示処理を終了する。
このように、情報処理装置10は、圧縮価値に基づいてプロジェクトを作成し、プロジェクトにまとめられた部分データフローを階層的に表示するので、データフローの段階的な把握を支援することができる。
上述してきたように、実施例では、圧縮価値をグループ毎に管理する圧縮価値情報を圧縮価値記憶部15が記憶する。そして、グループ抽出部12がリネージュ対象のデータフローからグループを抽出し、圧縮価値取得部19がリネージュ対象のグループの圧縮価値を圧縮価値記憶部15から取得する。そして、プロジェクト作成部21がリネージュ対象のデータフローから圧縮価値が0より大きいグループを大きい順にプロジェクトにまとめてデータフローを圧縮し、表示部23が、圧縮されたデータフローを表示する。したがって、情報処理装置10は、データフローの全体像の把握を容易にすることができる。
また、実施例では、表示部23は、プロジェクトアイコンにマウスカーソルが合わされたことを検出すると、プロジェクトにまとめられる前のグループの部分データフローを階層的に表示する。したがって、情報処理装置10は、データフローの一部の詳細の把握を容易にすることができる。
また、実施例では、グループ抽出部12が複数のデータフローからグループを抽出し、圧縮価値計算部14が他のグループとの類似度とグループに含まれるプロセスの数に基づいて、グループ毎に圧縮価値を計算して圧縮価値記憶部15に格納する。したがって、情報処理装置10は、出現頻度が高くプロセス数の多い部分データフローを圧縮することができ、適切な圧縮を行うことができる。
また、実施例では、圧縮価値計算部14は、プロセスの入力データと出力データの統計的な差異、及び、統計的な差異を生み出したアルゴリズムに基づいて、類似度を計算するので、グループ間の類似度を適切に計算することができる。
なお、実施例では、情報処理装置10について説明したが、情報処理装置10が有する構成をソフトウェアによって実現することで、同様の機能を有するリネージュプログラムを得ることができる。そこで、リネージュプログラムを実行するコンピュータについて説明する。
図11は、実施例に係るリネージュプログラムを実行するコンピュータのハードウェア構成を示す図である。図11に示すように、コンピュータ50は、メインメモリ51と、CPU(Central Processing Unit)52と、LAN(Local Area Network)インタフェース53と、HDD(Hard Disk Drive)54とを有する。また、コンピュータ50は、スーパーIO(Input Output)55と、DVI(Digital Visual Interface)56と、ODD(Optical Disk Drive)57とを有する。
メインメモリ51は、プログラムやプログラムの実行途中結果等を記憶するメモリである。CPU52は、メインメモリ51からプログラムを読み出して実行する中央処理装置である。CPU52は、メモリコントローラを有するチップセットを含む。
LANインタフェース53は、コンピュータ50をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD54は、プログラムやデータを格納するディスク装置であり、スーパーIO55は、マウスやキーボード等の入力装置を接続するためのインタフェースである。DVI56は、液晶表示装置を接続するインタフェースであり、ODD57は、DVD、CD-Rの読み書きを行う装置である。
LANインタフェース53は、PCIエクスプレス(PCIe)によりCPU52に接続され、HDD54及びODD57は、SATA(Serial Advanced Technology Attachment)によりCPU52に接続される。スーパーIO55は、LPC(Low Pin Count)によりCPU52に接続される。
そして、コンピュータ50において実行されるリネージュプログラムは、コンピュータ50により読み出し可能な記録媒体の一例であるCD-Rに記憶され、ODD57によってCD-Rから読み出されてコンピュータ50にインストールされる。あるいは、リネージュプログラムは、LANインタフェース53を介して接続された他のコンピュータシステムのデータベース等に記憶され、これらのデータベースから読み出されてコンピュータ50にインストールされる。そして、インストールされたリネージュプログラムは、HDD54に記憶され、メインメモリ51に読み出されてCPU52によって実行される。
また、実施例では、プロセスが処理を行う場合について説明したが、データフローに含まれる処理はタスク、モジュール等の他の処理でもよい。
1 圧縮データフロー
10 情報処理装置
11 データフロー記憶部
12 グループ抽出部
13 グループ記憶部
14 圧縮価値計算部
15 圧縮価値記憶部
16 リネージュ記憶部
17 リネージュグループ記憶部
18 グループグラフ記憶部
19 圧縮価値取得部
20 取得結果記憶部
21 プロジェクト作成部
22 プロジェクト記憶部
23 表示部
50 コンピュータ
51 メインメモリ
52 CPU
53 LANインタフェース
54 HDD
55 スーパーIO
56 DVI
57 ODD
10 情報処理装置
11 データフロー記憶部
12 グループ抽出部
13 グループ記憶部
14 圧縮価値計算部
15 圧縮価値記憶部
16 リネージュ記憶部
17 リネージュグループ記憶部
18 グループグラフ記憶部
19 圧縮価値取得部
20 取得結果記憶部
21 プロジェクト作成部
22 プロジェクト記憶部
23 表示部
50 コンピュータ
51 メインメモリ
52 CPU
53 LANインタフェース
54 HDD
55 スーパーIO
56 DVI
57 ODD
Claims (10)
- データフローにおいて複数の処理と該複数の処理の先頭処理の入力データから最終処理の出力データまでのデータとを含む部分データフローをグループとして、グループに含まれる複数の処理を1つのまとめ処理に圧縮する価値を示す圧縮価値をグループ毎に管理する圧縮価値情報を記憶する圧縮価値記憶部と、
前記圧縮価値記憶部に記憶された圧縮価値情報に基づいて、リネージュ対象のデータフローにおいて圧縮価値が所定値より大きいグループの複数の処理を1つのまとめ処理にまとめる圧縮部と、
前記圧縮部により複数の処理が1つのまとめ処理にまとめられた圧縮データフローを表示する表示部と
を有することを特徴とする情報処理装置。 - 前記表示部は、表示した圧縮データフローに含まれるまとめ処理の選択を受け付け、受け付けたまとめ処理について、前記圧縮部によりまとめられる前の処理又はまとめ処理を複数含む部分データフローを階層的に表示することを特徴とする請求項1に記載の情報処理装置。
- 複数のデータフローからグループを抽出してグループ毎に他のグループとの類似度を計算し、該類似度とグループに含まれる処理の数に基づいて前記圧縮価値を計算して前記圧縮価値記憶部に格納する圧縮価値計算部をさらに有することを特徴とする請求項1又は2に記載の情報処理装置。
- 前記圧縮価値計算部は、処理の入力データと出力データの統計的な差異、及び、該統計的な差異を生み出したアルゴリズムに基づいて、前記類似度を計算することを特徴とする請求項3に記載の情報処理装置。
- 前記圧縮価値計算部は、前記統計的な差異が特定できない処理を含むグループの圧縮価値を0とし、
前記圧縮部は、リネージュ対象のデータフローから圧縮価値が0より大きいグループの複数の処理を1つのまとめ処理にまとめることを特徴とする請求項4に記載の情報処理装置。 - 前記統計的な差異には、行数の減少、行数の増加、値の数の増加、値の数の減少、値の範囲の減少、値の範囲の増加、値の種類の減少、値の種類の増加が含まれ、前記アルゴリズムには、削除、補間、正規化、名寄せが含まれることを特徴とする請求項4に記載の情報処理装置。
- コンピュータに、
データフローにおいて複数の処理と該複数の処理の先頭処理の入力データから最終処理の出力データまでのデータとを含む部分データフローをグループとして、グループに含まれる複数の処理を1つのまとめ処理に圧縮する価値を示す圧縮価値をグループ毎に管理する圧縮価値情報を圧縮価値記憶部に記憶し、
前記圧縮価値記憶部に記憶された圧縮価値情報に基づいて、リネージュ対象のデータフローにおいて圧縮価値が所定値より大きいグループの複数の処理を1つのまとめ処理にまとめ、
リネージュ対象のデータフローにおいて圧縮価値が所定値より大きいグループの複数の処理が1つのまとめ処理にまとめられた圧縮データフローを表示する
処理を実行させることを特徴とするリネージュプログラム。 - 前記表示する処理は、表示した圧縮データフローに含まれるまとめ処理の選択を受け付け、受け付けたまとめ処理について、まとめられる前の処理又はまとめ処理を複数含む部分データフローを階層的に表示することを特徴とする請求項7に記載のリネージュプログラム。
- 前記コンピュータに、
複数のデータフローからグループを抽出してグループ毎に他のグループとの類似度を計算し、該類似度とグループに含まれる処理の数に基づいて前記圧縮価値を計算して前記圧縮価値記憶部に格納する処理をさらに実行させることを特徴とする請求項7又は8に記載のリネージュプログラム。 - 前記圧縮価値を計算する処理は、処理の入力データと出力データの統計的な差異、及び、該統計的な差異を生み出したアルゴリズムに基づいて、前記類似度を計算することを特徴とする請求項9に記載のリネージュプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020557467A JP7103433B2 (ja) | 2018-11-28 | 2018-11-28 | 情報処理装置及びリネージュプログラム |
| PCT/JP2018/043831 WO2020110239A1 (ja) | 2018-11-28 | 2018-11-28 | 情報処理装置及びリネージュプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2018/043831 WO2020110239A1 (ja) | 2018-11-28 | 2018-11-28 | 情報処理装置及びリネージュプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020110239A1 true WO2020110239A1 (ja) | 2020-06-04 |
Family
ID=70853270
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/043831 Ceased WO2020110239A1 (ja) | 2018-11-28 | 2018-11-28 | 情報処理装置及びリネージュプログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7103433B2 (ja) |
| WO (1) | WO2020110239A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023536300A (ja) * | 2020-08-05 | 2023-08-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 自動化されたetlワークフロー生成 |
| WO2025204085A1 (ja) * | 2024-03-24 | 2025-10-02 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法、コンピュータプログラム、並びに情報処理システム |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005122703A (ja) * | 2003-08-29 | 2005-05-12 | Sap Ag | コンピュータ上で視覚化グラフを提供する方法、および視覚化グラフを提供するコンピュータ |
| US20070061353A1 (en) * | 2005-09-12 | 2007-03-15 | Bobbin Nathan V | User interface options of a data lineage tool |
| JP2013513143A (ja) * | 2009-12-07 | 2013-04-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 照会リネージの自動生成のための方法、システム、およびコンピュータ・プログラム |
-
2018
- 2018-11-28 WO PCT/JP2018/043831 patent/WO2020110239A1/ja not_active Ceased
- 2018-11-28 JP JP2020557467A patent/JP7103433B2/ja not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005122703A (ja) * | 2003-08-29 | 2005-05-12 | Sap Ag | コンピュータ上で視覚化グラフを提供する方法、および視覚化グラフを提供するコンピュータ |
| US20070061353A1 (en) * | 2005-09-12 | 2007-03-15 | Bobbin Nathan V | User interface options of a data lineage tool |
| JP2013513143A (ja) * | 2009-12-07 | 2013-04-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 照会リネージの自動生成のための方法、システム、およびコンピュータ・プログラム |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023536300A (ja) * | 2020-08-05 | 2023-08-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 自動化されたetlワークフロー生成 |
| WO2025204085A1 (ja) * | 2024-03-24 | 2025-10-02 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法、コンピュータプログラム、並びに情報処理システム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7103433B2 (ja) | 2022-07-20 |
| JPWO2020110239A1 (ja) | 2021-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9477732B2 (en) | Filtering for data visualization techniques | |
| US8910084B2 (en) | Aggregate layout for data visualization techniques | |
| US8640056B2 (en) | Data visualization techniques | |
| US8286100B2 (en) | Linking graphical elements of data visualizations | |
| US8650063B2 (en) | Program, method and apparatus for modeling workflow | |
| US11562019B2 (en) | Generating visual data stories | |
| US10108598B2 (en) | Displaying multiple row and column header areas in a summary table | |
| US20200348969A1 (en) | Techniques for workflow analysis and design task optimization | |
| JP6652490B2 (ja) | 多ディメンション・データー構造に対する実行のためのクエリー構築 | |
| US7890519B2 (en) | Summarizing data removed from a query result set based on a data quality standard | |
| JP6674831B2 (ja) | 因果関係抽出装置、因果関係抽出方法及び因果関係抽出プログラム | |
| WO2015053909A1 (en) | Attribute redundancy removal | |
| US20150032708A1 (en) | Database analysis apparatus and method | |
| JP7103433B2 (ja) | 情報処理装置及びリネージュプログラム | |
| JP6120607B2 (ja) | 要件検出装置及び要件検出プログラム | |
| JP2012173828A (ja) | 見積支援システムおよびプログラム | |
| CN120596709A (zh) | 一种数据资产关系图谱生成方法、装置、设备及介质 | |
| WO2016027364A1 (ja) | 話題クラスタ選択装置、及び検索方法 | |
| CN115391421B (zh) | 一种特征提取的方法、装置、设备以及存储介质 | |
| JP4936455B2 (ja) | 文書分類装置、文書分類方法、プログラムおよび記録媒体 | |
| JP2011175446A (ja) | 要件・バグレポート処理システム及びその方法 | |
| JP6852002B2 (ja) | データ検索方法、データ検索装置及びプログラム | |
| JP7731559B2 (ja) | コンピュータ実施のビジュアル・クエリ・マッチングの方法及び方法を実施するためのシステム | |
| Jony et al. | An Evaluation of Data Processing Solutions Considering Preprocessing and" Special" Features | |
| CN113420214B (zh) | 一种电子交易对象推荐方法和装置及设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18941354 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020557467 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18941354 Country of ref document: EP Kind code of ref document: A1 |